2200
How can I delete the selected items (including descendants)

// KeyDown event - Occurs when the user presses a key while an object has the focus.
private void exg2antt1_KeyDown(object sender,ref short   KeyCode,short   Shift)
{
	exg2antt1.RemoveSelection();
}
//this.exg2antt1.KeyDown += new exontrol.EXG2ANTTLib.exg2antt.KeyDownEventHandler(this.exg2antt1_KeyDown);

exg2antt1.BeginUpdate();
exg2antt1.SingleSel = false;
exg2antt1.Columns.Add("Tasks");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("8/1/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,128);
	var_Chart.SelBackColor = Color.FromArgb(240,240,240);
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddBar(var_Items.AddItem("Task 1"),"Task",Convert.ToDateTime("8/2/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("8/6/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	int h = var_Items.AddItem("Task 2");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("8/3/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("8/9/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.set_SelectItem(h,true);
	h = var_Items.AddItem("Task 3");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("8/4/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("8/13/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.set_SelectItem(h,true);
	var_Items.AddBar(var_Items.AddItem("Task 4"),"Task",Convert.ToDateTime("8/5/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("8/16/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
exg2antt1.EndUpdate();

2199
Dark mode

exg2antt1.BeginUpdate();
string back = 65536;
string fore = 16777215;
exg2antt1.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ" +
"gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" +
"dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA");
exg2antt1.VisualAppearance.Add(2,"gBFLBCJwBAEHhEJAAEhABPMIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwHCMIhiGwcAChEZYHgkMYmDAMUhSE78axHG6PY7kKZ4b" +
"iaKIqQLLEhSfJ0YyBECBZpfebIbjmIZMSLEIxDKItJSpCIaRgqWS6ahGO4JUbUFLQHT9IR4daIYRgEEBA");
exg2antt1.VisualAppearance.Add(3,"gBFLBCJwBAEHhEJAAEhABUUIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwGAsEwjAoYAChEaILgkMw2DBIQwgJIMEr/G6RZxjeL5C" +
"jmG4nDhKMpybAcXxjBIYZJgOQpXb+PobTrNNLzfRFAxVAaWJikcZ4HpIAJNVLFdQ0XYMNSBISsBqrKiKcpeIIDWBZMbRZT1ZABCIZBpEW6LahENQwXrCN74DYkNTdKax" +
"bbuaaXLhGCYBgIA==");
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Bump;
exg2antt1.BackColor = back;
exg2antt1.BackColorHeader = back;
exg2antt1.BackColorLevelHeader = back;
exg2antt1.BackColorSortBar = back;
exg2antt1.BackColorSortBarCaption = back;
exg2antt1.FilterBarBackColor = back;
exg2antt1.FilterBarForeColor = fore;
exg2antt1.ForeColor = fore;
exg2antt1.ForeColorHeader = fore;
exg2antt1.ForeColorSortBar = fore;
exg2antt1.SelBackColor = fore;
exg2antt1.SelForeColor = back;
exg2antt1.set_Background32(exontrol.EXG2ANTTLib.BackgroundPartEnum.exHeaderFilterBarButton,0x1000000);
exg2antt1.set_Background32(exontrol.EXG2ANTTLib.BackgroundPartEnum.exSplitBar,0x2000000);
exg2antt1.set_Background32(exontrol.EXG2ANTTLib.BackgroundPartEnum.exCursorHoverColumn,-1);
exg2antt1.set_Background32(exontrol.EXG2ANTTLib.BackgroundPartEnum.exToolTipAppearance,0x3000000);
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exToolTipBackColor,back);
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exToolTipForeColor,fore);
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exSelBackColorFilter,fore);
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exSelForeColorFilter,back);
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exBackColorFilter,back);
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exForeColorFilter,fore);
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exSortBarLinkColor,back);
exg2antt1.set_Background32(exontrol.EXG2ANTTLib.BackgroundPartEnum.exCSplitBar,0x2000000);
exg2antt1.set_Background32(exontrol.EXG2ANTTLib.BackgroundPartEnum.exHSplitBar,0x2000000);
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exTreeLinesColor,fore);
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exScrollSizeGrip,back);
exg2antt1.set_Description(exontrol.EXG2ANTTLib.DescriptionTypeEnum.exFilterBarExclude,"<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.BackColor = back;
	var_Chart.BackColorLevelHeader = back;
	var_Chart.ForeColor = fore;
	var_Chart.ForeColorLevelHeader = fore;
exg2antt1.EndUpdate();

2198
I have changed the font, but the item's height remains the same. What I am doing wrong

exg2antt1.BeginUpdate();
exg2antt1.ColumnAutoResize = false;
exg2antt1.LoadXML("http://www.exontrol.net/testing.xml");
exg2antt1.Font.Size = 22;
exg2antt1.HeaderHeight = 42;
exg2antt1.DefaultItemHeight = 36;
exg2antt1.Items.set_ItemHeight(0,exg2antt1.DefaultItemHeight);
exg2antt1.Chart.UnitWidth = exg2antt1.DefaultItemHeight;
exg2antt1.Chart.UnitScale = exg2antt1.Chart.UnitScale;
exg2antt1.Chart.Bars["Task"].Height = 18;
exg2antt1.EndUpdate();

2197
I have changed from Project Summary Task to own task created with EBN to get a black frame then using different colors for project status. How can I enlarge the EBN being applied to the head-arrows shows the start/end margins of the range

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
private void exg2antt1_AddGroupItem(object sender,int   Item)
{
	exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
		var_Items.set_ItemBold(Item,true);
		var_Items.AddBar(Item,var_Items.get_CellValue(Item,var_Items.get_GroupItem(Item)),Convert.ToDateTime("12/2/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/2/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
		var_Items.DefineSummaryBars(Item,"",-3,"");
}
//this.exg2antt1.AddGroupItem += new exontrol.EXG2ANTTLib.exg2antt.AddGroupItemEventHandler(this.exg2antt1_AddGroupItem);

// AddItem event - Occurs after a new Item has been inserted to Items collection.
private void exg2antt1_AddItem(object sender,int   Item)
{
	exg2antt1.Items.AddBar(Item,"Task",Convert.ToDateTime("12/4/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/10/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
}
//this.exg2antt1.AddItem += new exontrol.EXG2ANTTLib.exg2antt.AddItemEventHandler(this.exg2antt1_AddItem);

exg2antt1.BeginUpdate();
exontrol.EXG2ANTTLib.Appearance var_Appearance = exg2antt1.VisualAppearance;
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABN0GACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCQBQAWCQ1DAJIqjOAkEhiGCUQClYYZBjWG4dQLOEYTN" +
"C8WwHCIZBpEWgKChGKAlSANMjTZLkdR1ECmIhoSg4coKMoERBJco1BDdOQGAyEQShEC4fgmVwAP7aNoWVC1JynM6XaKmGbJAA6CZgQKGFh2LAdTzSf61cAtWpaUjmRZa" +
"YSAFDxpiCYpfQjdUB2JDVfTVP6LbawS4KZgOR5eRboETYeAFcSZGrNMKEXLLSyudKRRreWQaPpGCZTRSUdZxSrbBhvEqlbRNMhwSBEEigNIxToOU4jFgeCROQwQRK9BB" +
"oG0CQUEIdhAAyJJvjUeZdmmb5+C8HhiAeZJznoPQ+EgT4rlua4BjCfg+k8d5TkUCZ4w+fxfB+X5xn4fheGebZoH8X53koAR9CASAWAUfofjgJgKH+IJHnGcIDmER5iBE" +
"eZgmgVgLgGYYYGoFRTCGaIGAYRYiCiFgmgmYQEF4KIKmKSBRBqCxjAiRgvgwYxIiGQYNmOCJlDUOpeAQBCAg=");
	var_Appearance.Add(2,"CP:1 -6 0 6 0");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.LevelCount = 2;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("12/2/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.set_PaneWidth(false,342);
	var_Chart.Bars.Add("S1").Color32 = 0x1000000;
	var_Chart.Bars.Add("S2").Color32 = 0x2ff0000;
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	var_Columns.Add("C1");
	(var_Columns.Add("C2") as exontrol.EXG2ANTTLib.Column).AllowSort = false;
exg2antt1.SingleSort = false;
exg2antt1.AllowGroupBy = true;
exg2antt1.HeaderVisible = exontrol.EXG2ANTTLib.HeaderVisibleEnum.exHeaderVisibleExtendLevels;
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Flat;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.set_CellValue(var_Items.AddItem("S1"),1,"SubItem A.1");
	var_Items.set_CellValue(var_Items.AddItem("S1"),1,"SubItem A.1");
	var_Items.set_CellValue(var_Items.AddItem("S2"),1,"SubItem B.1");
	var_Items.set_CellValue(var_Items.AddItem("S2"),1,"SubItem B.1");
exg2antt1.Layout = "MultipleSort = \"C0:2\"";
exg2antt1.EndUpdate();

2196
How can I specify the cell's outline, border or lines around, when the cell gets selected

exg2antt1.BeginUpdate();
exg2antt1.AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}");
exontrol.EXG2ANTTLib.Appearance var_Appearance = exg2antt1.VisualAppearance;
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wH" +
"IMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCq" +
"Op6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZY" +
"njUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgW" +
"YRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=");
	var_Appearance.Add(2,"CP:1 -4 0 0 0");
exg2antt1.SelBackColor32 = 0x2000000;
exg2antt1.SelForeColor = Color.FromArgb(0,0,1);
exg2antt1.FullRowSelect = exontrol.EXG2ANTTLib.CellSelectEnum.exColumnSel;
exg2antt1.ShowFocusRect = false;
exg2antt1.DefaultItemHeight = 24;
exg2antt1.HeaderHeight = 24;
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exVLines;
exg2antt1.Columns.Add("C1");
exg2antt1.Columns.Add("C2");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.set_CellValue(var_Items.AddItem("Cell 1"),1,"Cell 2");
	var_Items.set_CellValue(var_Items.AddItem("Cell 3"),1,"Cell 4");
exg2antt1.Items.SelectPos = 1;
exg2antt1.SelectColumnIndex = 1;
exg2antt1.EndUpdate();

2195
How can I specify the cell's outline, border or lines around, when the item gets selected

exg2antt1.BeginUpdate();
exg2antt1.AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}");
exg2antt1.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wH" +
"IMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCq" +
"Op6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZY" +
"njUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgW" +
"YRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=");
exg2antt1.SelBackColor32 = 0x1000000;
exg2antt1.SelForeColor = Color.FromArgb(0,0,1);
exg2antt1.ShowFocusRect = false;
exg2antt1.DefaultItemHeight = 24;
exg2antt1.HeaderHeight = 24;
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exVLines;
exg2antt1.Columns.Add("C1");
exg2antt1.Columns.Add("C2");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.set_CellValue(var_Items.AddItem("Cell 1"),1,"Cell 2");
	var_Items.set_CellValue(var_Items.AddItem("Cell 3"),1,"Cell 4");
	var_Items.SelectPos = 1;
exg2antt1.EndUpdate();

2194
How can I specify the cell's outline, border or lines around

exg2antt1.BeginUpdate();
exg2antt1.AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}");
exg2antt1.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wH" +
"IMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCq" +
"Op6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZY" +
"njUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgW" +
"YRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=");
exg2antt1.SelBackMode = exontrol.EXG2ANTTLib.BackModeEnum.exTransparent;
exg2antt1.ShowFocusRect = false;
exg2antt1.DefaultItemHeight = 24;
exg2antt1.HeaderHeight = 24;
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exVLines;
exg2antt1.Columns.Add("C1");
exg2antt1.Columns.Add("C2");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.set_CellValue(var_Items.AddItem("Cell 1"),1,"Cell 2");
	int h = var_Items.AddItem("Cell 2");
	var_Items.set_CellValue(h,1,"Cell 3");
	var_Items.set_CellBackColor32(h,1,0x1000000);
exg2antt1.EndUpdate();

2193
Is it possible to highligth the match while a filter is applied

// AddColumn event - Fired after a new column has been added.
private void exg2antt1_AddColumn(object sender,exontrol.EXG2ANTTLib.Column   Column)
{
	// Column.Def(17) = 1
}
//this.exg2antt1.AddColumn += new exontrol.EXG2ANTTLib.exg2antt.AddColumnEventHandler(this.exg2antt1_AddColumn);

// FilterChange event - Occurs when the filter was changed.
private void exg2antt1_FilterChange(object sender)
{
	object format = exg2antt1.FormatABC("`value replace '` + value + `' with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`",exg2antt1.FilterBarPromptPattern,null,null);
	exg2antt1.Columns[0].FormatColumn = format.ToString();
	exg2antt1.Columns[1].FormatColumn = format.ToString();
}
//this.exg2antt1.FilterChange += new exontrol.EXG2ANTTLib.exg2antt.FilterChangeEventHandler(this.exg2antt1_FilterChange);

exg2antt1.BeginUpdate();
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exVLines;
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exg2antt1.Columns.Add("Col 1");
exg2antt1.Columns.Add("Col 2");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.set_CellValue(var_Items.AddItem("219 Smith"),1,"Ignacio 1234");
	var_Items.set_CellValue(var_Items.AddItem("1666 County Road 309A"),1,"897 Manassa");
	var_Items.set_CellValue(var_Items.AddItem("38 Lone Pine"),1,"Durango 11");
	var_Items.set_CellValue(var_Items.AddItem("612 Jachim Street"),1,"Lamar 222");
exg2antt1.FilterBarPromptPattern = "1";
exg2antt1.FilterBarPromptVisible = exontrol.EXG2ANTTLib.FilterBarVisibleEnum.exFilterBarCompact | exontrol.EXG2ANTTLib.FilterBarVisibleEnum.exFilterBarSingleLine | exontrol.EXG2ANTTLib.FilterBarVisibleEnum.exFilterBarVisible | exontrol.EXG2ANTTLib.FilterBarVisibleEnum.exFilterBarPromptVisible;
exg2antt1.FilterBarPromptType = exontrol.EXG2ANTTLib.FilterPromptEnum.exFilterPromptCaseSensitive | exontrol.EXG2ANTTLib.FilterPromptEnum.exFilterPromptContainsAll;
exg2antt1.EndUpdate();

2192
How can I display the total/sum/aggregate in the same column, when the user groups by a column

// AddColumn event - Fired after a new column has been added.
private void exg2antt1_AddColumn(object sender,exontrol.EXG2ANTTLib.Column   Column)
{
}
//this.exg2antt1.AddColumn += new exontrol.EXG2ANTTLib.exg2antt.AddColumnEventHandler(this.exg2antt1_AddColumn);

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
private void exg2antt1_AddGroupItem(object sender,int   Item)
{
	exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
		var_Items.set_ItemDivider(Item,-1);
		var_Items.set_ItemBackColor(Item,exg2antt1.BackColorSortBar);
		var_Items.set_ItemHeight(Item,exg2antt1.HeaderHeight);
		var_Items.set_CellMerge(Item,0,"1,2,3,4,5,7,8,9,10,11,12");
		var_Items.set_CellValue(Item,13,"count(current,rec,1)");
		var_Items.set_CellValueFormat(Item,13,exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField | exontrol.EXG2ANTTLib.ValueFormatEnum.exHTML);
		var_Items.set_CellValue(Item,0,var_Items.get_CellCaption(Item,var_Items.get_GroupItem(Item)));
		var_Items.set_FormatCell(Item,0,"`<b>` + value + `</b> <font ;7><off 3><fgcolor=808080>(` + %13 +  `)`");
		var_Items.set_CellValue(Item,6,"sum(current,all,dbl(%6))");
		var_Items.set_CellValueFormat(Item,6,exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField | exontrol.EXG2ANTTLib.ValueFormatEnum.exHTML);
		var_Items.set_CellForeColor(Item,6,Color.FromArgb(102,102,102));
}
//this.exg2antt1.AddGroupItem += new exontrol.EXG2ANTTLib.exg2antt.AddGroupItemEventHandler(this.exg2antt1_AddGroupItem);

// Change event - Occurs when the user changes the cell's content.
private void exg2antt1_Change(object sender,int   Item,int   ColIndex,ref object   NewValue)
{
	exg2antt1.Refresh();
}
//this.exg2antt1.Change += new exontrol.EXG2ANTTLib.exg2antt.ChangeEventHandler(this.exg2antt1_Change);

exg2antt1.BeginUpdate();
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exGroupLinesOutside;
exg2antt1.Indent = 12;
exg2antt1.ColumnAutoResize = false;
exg2antt1.ScrollBySingleLine = true;
exg2antt1.BackColorSortBar = Color.FromArgb(240,240,240);
exg2antt1.AutoDrag = exontrol.EXG2ANTTLib.AutoDragEnum.exAutoDragScroll;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",exontrol.ADODB.CursorTypeEnum.adOpenStatic,exontrol.ADODB.LockTypeEnum.adLockOptimistic,0);
exg2antt1.DataSource = (rs as ADODB.Recordset);
exg2antt1.SingleSort = false;
exg2antt1.SortBarVisible = true;
exg2antt1.AllowGroupBy = true;
exg2antt1.HeaderHeight = 24;
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	(var_Columns.Add("Count") as exontrol.EXG2ANTTLib.Column).Visible = false;
	exontrol.EXG2ANTTLib.Column var_Column = var_Columns["Freight"];
		var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellBackColor,exg2antt1.BackColorSortBar);
		var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exHeaderBackColor,var_Column.get_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellBackColor));
		var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellPaddingRight,4);
		var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellPaddingLeft,4);
		var_Column.HeaderBold = true;
		var_Column.AllowGroupBy = false;
		var_Column.FormatColumn = "value format ``";
		var_Column.Alignment = exontrol.EXG2ANTTLib.AlignmentEnum.RightAlignment;
	exontrol.EXG2ANTTLib.Column var_Column1 = var_Columns[0];
		var_Column1.AllowGroupBy = false;
		var_Column1.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellValueFormat,1);
	var_Columns["ShipCountry"].SortOrder = exontrol.EXG2ANTTLib.SortOrderEnum.SortAscending;
exg2antt1.ScrollBySingleLine = false;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.set_LockedItemCount(exontrol.EXG2ANTTLib.VAlignmentEnum.exBottom,1);
	int hL = var_Items.get_LockedItem(exontrol.EXG2ANTTLib.VAlignmentEnum.exBottom,0);
	var_Items.set_ItemHeight(hL,24);
	var_Items.set_ItemBold(hL,true);
	var_Items.set_ItemBackColor(hL,exg2antt1.BackColorSortBar);
	var_Items.set_CellValue(hL,6,"sum(all,rec,dbl(%6))");
	var_Items.set_CellValueFormat(hL,6,exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField | exontrol.EXG2ANTTLib.ValueFormatEnum.exHTML);
	var_Items.set_CellHAlignment(hL,6,exontrol.EXG2ANTTLib.AlignmentEnum.RightAlignment);
	var_Items.set_FormatCell(hL,6,"value format ``");
exg2antt1.EndUpdate();

2191
How do I add a total field locked at the bottom of the control

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
private void exg2antt1_AddGroupItem(object sender,int   Item)
{
	exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
		var_Items.set_ItemDividerLine(Item,exontrol.EXG2ANTTLib.DividerLineEnum.EmptyLine);
		var_Items.set_FormatCell(Item,var_Items.get_GroupItem(Item),"value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`");
		var_Items.set_CellValue(Item,"Min","min(current,all,dbl(%6))");
		var_Items.set_CellValueFormat(Item,"Min",exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField);
		var_Items.set_CellValue(Item,"Max","max(current,all,dbl(%6))");
		var_Items.set_CellValueFormat(Item,"Max",exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField);
		var_Items.set_CellValue(Item,"Sum","sum(current,all,dbl(%6))");
		var_Items.set_CellValueFormat(Item,"Sum",exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField);
		var_Items.set_ItemBackColor(Item,Color.FromArgb(240,240,240));
}
//this.exg2antt1.AddGroupItem += new exontrol.EXG2ANTTLib.exg2antt.AddGroupItemEventHandler(this.exg2antt1_AddGroupItem);

// Change event - Occurs when the user changes the cell's content.
private void exg2antt1_Change(object sender,int   Item,int   ColIndex,ref object   NewValue)
{
	exg2antt1.Refresh();
}
//this.exg2antt1.Change += new exontrol.EXG2ANTTLib.exg2antt.ChangeEventHandler(this.exg2antt1_Change);

exg2antt1.BeginUpdate();
exg2antt1.HasLines = exontrol.EXG2ANTTLib.HierarchyLineEnum.exNoLine;
exg2antt1.set_Description(exontrol.EXG2ANTTLib.DescriptionTypeEnum.exColumnsFloatBar,"Show/Hide");
exg2antt1.ColumnsFloatBarSortOrder = exontrol.EXG2ANTTLib.SortOrderEnum.SortAscending;
exg2antt1.ColumnsFloatBarVisible = exontrol.EXG2ANTTLib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeCheckColumns;
exg2antt1.ColumnAutoResize = false;
exg2antt1.BackColorSortBar = Color.FromArgb(240,240,240);
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",exontrol.ADODB.CursorTypeEnum.adOpenStatic,exontrol.ADODB.LockTypeEnum.adLockOptimistic,0);
exg2antt1.DataSource = (rs as ADODB.Recordset);
exg2antt1.SingleSort = false;
exg2antt1.SortBarVisible = true;
exg2antt1.AllowGroupBy = true;
exg2antt1.SortBarCaption = "Drag a <b>column</b> header here to group by that column.";
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	exontrol.EXG2ANTTLib.Column var_Column = (var_Columns.Add("Min") as exontrol.EXG2ANTTLib.Column);
		var_Column.Visible = false;
		var_Column.AllowDragging = false;
	var_Column = (var_Columns.Add("Max") as exontrol.EXG2ANTTLib.Column);
		var_Column.Visible = false;
		var_Column.Visible = false;
		var_Column.AllowDragging = false;
	exontrol.EXG2ANTTLib.Column var_Column1 = (var_Columns.Add("Sum") as exontrol.EXG2ANTTLib.Column);
		var_Column1.Visible = false;
		var_Column1.Visible = false;
		var_Column1.AllowDragging = false;
exontrol.EXG2ANTTLib.Column var_Column2 = exg2antt1.Columns["Freight"];
	var_Column2.FormatColumn = "currency(value)";
	var_Column2.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellBackColor,12895487);
	var_Column2.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exHeaderBackColor,var_Column2.get_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellBackColor));
	var_Column2.HeaderBold = true;
	var_Column2.AllowGroupBy = false;
	var_Column2.Alignment = exontrol.EXG2ANTTLib.AlignmentEnum.RightAlignment;
exg2antt1.ScrollBySingleLine = false;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.set_LockedItemCount(exontrol.EXG2ANTTLib.VAlignmentEnum.exBottom,2);
	int hL = var_Items.get_LockedItem(exontrol.EXG2ANTTLib.VAlignmentEnum.exBottom,0);
	var_Items.set_ItemDivider(hL,0);
	var_Items.set_ItemHeight(hL,3);
	var_Items.set_ItemDividerLineAlignment(hL,exontrol.EXG2ANTTLib.DividerAlignmentEnum.DividerTop);
	var_Items.set_ItemDividerLine(hL,exontrol.EXG2ANTTLib.DividerLineEnum.DoubleLine);
	hL = var_Items.get_LockedItem(exontrol.EXG2ANTTLib.VAlignmentEnum.exBottom,1);
	var_Items.set_CellValue(hL,6,"sum(all,rec,dbl(%6))");
	var_Items.set_CellValueFormat(hL,6,exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField);
	var_Items.set_ItemHeight(hL,24);
	var_Items.set_ItemBold(hL,true);
exg2antt1.Columns["EmployeeID"].SortOrder = true;
exg2antt1.EndUpdate();

2190
How can I add a total field, when I use grouping

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
private void exg2antt1_AddGroupItem(object sender,int   Item)
{
	exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
		var_Items.set_ItemDividerLine(Item,exontrol.EXG2ANTTLib.DividerLineEnum.EmptyLine);
		var_Items.set_FormatCell(Item,var_Items.get_GroupItem(Item),"value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`");
		var_Items.set_CellValue(Item,"Min","min(current,all,dbl(%6))");
		var_Items.set_CellValueFormat(Item,"Min",exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField);
		var_Items.set_CellValue(Item,"Max","max(current,all,dbl(%6))");
		var_Items.set_CellValueFormat(Item,"Max",exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField);
		var_Items.set_CellValue(Item,"Sum","sum(current,all,dbl(%6))");
		var_Items.set_CellValueFormat(Item,"Sum",exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField);
		var_Items.set_ItemBackColor(Item,Color.FromArgb(240,240,240));
}
//this.exg2antt1.AddGroupItem += new exontrol.EXG2ANTTLib.exg2antt.AddGroupItemEventHandler(this.exg2antt1_AddGroupItem);

// Change event - Occurs when the user changes the cell's content.
private void exg2antt1_Change(object sender,int   Item,int   ColIndex,ref object   NewValue)
{
	exg2antt1.Refresh();
}
//this.exg2antt1.Change += new exontrol.EXG2ANTTLib.exg2antt.ChangeEventHandler(this.exg2antt1_Change);

exg2antt1.BeginUpdate();
exg2antt1.HasLines = exontrol.EXG2ANTTLib.HierarchyLineEnum.exNoLine;
exg2antt1.ColumnAutoResize = false;
exg2antt1.BackColorSortBar = Color.FromArgb(240,240,240);
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",exontrol.ADODB.CursorTypeEnum.adOpenStatic,exontrol.ADODB.LockTypeEnum.adLockOptimistic,0);
exg2antt1.DataSource = (rs as ADODB.Recordset);
exg2antt1.SingleSort = false;
exg2antt1.SortBarVisible = true;
exg2antt1.AllowGroupBy = true;
exg2antt1.Columns[1].SortOrder = true;
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	(var_Columns.Add("Min") as exontrol.EXG2ANTTLib.Column).Visible = false;
	(var_Columns.Add("Max") as exontrol.EXG2ANTTLib.Column).Visible = false;
	(var_Columns.Add("Sum") as exontrol.EXG2ANTTLib.Column).Visible = false;
exontrol.EXG2ANTTLib.Column var_Column = exg2antt1.Columns["Freight"];
	var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellBackColor,12895487);
	var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exHeaderBackColor,var_Column.get_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellBackColor));
	var_Column.HeaderBold = true;
	var_Column.AllowGroupBy = false;
exg2antt1.ScrollBySingleLine = false;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.set_LockedItemCount(exontrol.EXG2ANTTLib.VAlignmentEnum.exBottom,1);
	int hL = var_Items.get_LockedItem(exontrol.EXG2ANTTLib.VAlignmentEnum.exBottom,0);
	var_Items.set_ItemDivider(hL,0);
	var_Items.set_ItemHeight(hL,24);
	var_Items.set_ItemDividerLineAlignment(hL,exontrol.EXG2ANTTLib.DividerAlignmentEnum.DividerTop);
	var_Items.set_ItemDividerLine(hL,exontrol.EXG2ANTTLib.DividerLineEnum.DoubleLine);
	var_Items.set_CellValue(hL,0,"sum(all,rec,dbl(%6))");
	var_Items.set_CellValueFormat(hL,0,exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField | exontrol.EXG2ANTTLib.ValueFormatEnum.exHTML);
	var_Items.set_CellHAlignment(hL,0,exontrol.EXG2ANTTLib.AlignmentEnum.RightAlignment);
	var_Items.set_FormatCell(hL,0,"'Freight: <bgcolor=FFC4C4> '+(value format ``) + ` `");
exg2antt1.EndUpdate();

2189
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns

exg2antt1.BeginUpdate();
exg2antt1.ColumnAutoResize = false;
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	var_Columns.Add("City");
	(var_Columns.Add("Start") as exontrol.EXG2ANTTLib.Column).Visible = false;
	(var_Columns.Add("End") as exontrol.EXG2ANTTLib.Column).Visible = false;
exg2antt1.set_Description(exontrol.EXG2ANTTLib.DescriptionTypeEnum.exColumnsFloatBar,"Show/Hide");
exg2antt1.ColumnsFloatBarSortOrder = exontrol.EXG2ANTTLib.SortOrderEnum.SortAscending;
exg2antt1.ColumnsFloatBarVisible = exontrol.EXG2ANTTLib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeCheckColumns;
exg2antt1.EndUpdate();

2188
The BackColorAlternate displays each second row with a different background color. The question I have it is possible to apply a different background color for 3rd, 4th, row, and so on

// LayoutChanged event - Occurs when column's position or column's size is changed.
private void exg2antt1_LayoutChanged(object sender)
{
	exg2antt1.Refresh();
}
//this.exg2antt1.LayoutChanged += new exontrol.EXG2ANTTLib.exg2antt.LayoutChangedEventHandler(this.exg2antt1_LayoutChanged);

// Sort event - Fired when the control sorts a column.
private void exg2antt1_Sort(object sender)
{
	exg2antt1.Refresh();
}
//this.exg2antt1.Sort += new exontrol.EXG2ANTTLib.exg2antt.SortEventHandler(this.exg2antt1_Sort);

exg2antt1.BeginUpdate();
exg2antt1.HasLines = exontrol.EXG2ANTTLib.HierarchyLineEnum.exNoLine;
exg2antt1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",exontrol.ADODB.CursorTypeEnum.adOpenStatic,exontrol.ADODB.LockTypeEnum.adLockOptimistic,0);
exg2antt1.DataSource = (rs as ADODB.Recordset);
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Position") as exontrol.EXG2ANTTLib.Column);
	var_Column.FormatColumn = "1 apos ''";
	var_Column.Visible = false;
exg2antt1.ConditionalFormats.Add("(%C13 mod 4) = 0",null).BackColor = Color.FromArgb(240,240,240);
exg2antt1.EndUpdate();

2187
The BackColorAlternate looks fine for flat tables, but how about using it when displaying a hierarchy/tree, like grouping rows. The sample alternate colors for each group found

// LayoutChanged event - Occurs when column's position or column's size is changed.
private void exg2antt1_LayoutChanged(object sender)
{
	exg2antt1.Refresh();
}
//this.exg2antt1.LayoutChanged += new exontrol.EXG2ANTTLib.exg2antt.LayoutChangedEventHandler(this.exg2antt1_LayoutChanged);

exg2antt1.BeginUpdate();
exg2antt1.HasLines = exontrol.EXG2ANTTLib.HierarchyLineEnum.exNoLine;
exg2antt1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",exontrol.ADODB.CursorTypeEnum.adOpenStatic,exontrol.ADODB.LockTypeEnum.adLockOptimistic,0);
exg2antt1.DataSource = (rs as ADODB.Recordset);
exg2antt1.SingleSort = false;
exg2antt1.SortBarVisible = true;
exg2antt1.AllowGroupBy = true;
exg2antt1.Columns[1].SortOrder = true;
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Position") as exontrol.EXG2ANTTLib.Column);
	var_Column.FormatColumn = "(0:= (1 rpos '')) left ( ( 1:= ( =:0 lfind `.` ) ) != -1 ? =:1 : len(=:0))";
	var_Column.Visible = false;
exg2antt1.ConditionalFormats.Add("(%C13 mod 2) != 0",null).BackColor = Color.FromArgb(240,240,240);
exg2antt1.EndUpdate();

2186
I need to display sub-totals in the grouping items. Is there any solution on this

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
private void exg2antt1_AddGroupItem(object sender,int   Item)
{
	exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
		var_Items.set_ItemDivider(Item,-1);
		var_Items.set_EnableItem(Item,false);
		var_Items.set_CellValueFormat(Item,exg2antt1.TreeColumnIndex,exontrol.EXG2ANTTLib.ValueFormatEnum.exHTML);
		var_Items.set_FormatCell(Item,exg2antt1.TreeColumnIndex,"%1");
		var_Items.set_CellValueFormat(Item,"Freight",exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField | exontrol.EXG2ANTTLib.ValueFormatEnum.exHTML);
		var_Items.set_CellValue(Item,"Freight","sum(current,dir,%6)");
		var_Items.set_FormatCell(Item,"Freight","`<b>` + currency(value)");
}
//this.exg2antt1.AddGroupItem += new exontrol.EXG2ANTTLib.exg2antt.AddGroupItemEventHandler(this.exg2antt1_AddGroupItem);

exg2antt1.BeginUpdate();
exg2antt1.SelBackMode = exontrol.EXG2ANTTLib.BackModeEnum.exTransparent;
exg2antt1.BackColorSortBar = Color.FromArgb(240,240,240);
exg2antt1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",exontrol.ADODB.CursorTypeEnum.adOpenStatic,exontrol.ADODB.LockTypeEnum.adLockOptimistic,0);
exg2antt1.DataSource = (rs as ADODB.Recordset);
exg2antt1.SortBarVisible = true;
exg2antt1.SortBarCaption = "Drag a <b>column</b> header here to group by that column.";
exg2antt1.AllowGroupBy = true;
exg2antt1.Columns[1].SortOrder = exontrol.EXG2ANTTLib.SortOrderEnum.SortAscending;
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exGroupLinesOutside;
exg2antt1.Columns["ShipVia"].DisplayFilterButton = true;
exg2antt1.EndUpdate();

2185
I use a subtotal in exTop-Item, after grouping the item shows 0. What is the solution

exg2antt1.BeginUpdate();
exg2antt1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",exontrol.ADODB.CursorTypeEnum.adOpenStatic,exontrol.ADODB.LockTypeEnum.adLockOptimistic,0);
exg2antt1.DataSource = (rs as ADODB.Recordset);
exg2antt1.SingleSort = false;
exg2antt1.AllowGroupBy = true;
exg2antt1.SortBarVisible = true;
exg2antt1.BackColorSortBar = exg2antt1.BackColor;
exg2antt1.Columns[5].SortOrder = exontrol.EXG2ANTTLib.SortOrderEnum.SortAscending;
exg2antt1.Columns[6].FormatColumn = "currency(value)";
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.set_LockedItemCount(exontrol.EXG2ANTTLib.VAlignmentEnum.exTop,1);
	int h = var_Items.get_LockedItem(exontrol.EXG2ANTTLib.VAlignmentEnum.exTop,0);
	var_Items.set_ItemBackColor(h,Color.FromArgb(240,240,240));
	var_Items.set_CellBackColor(h,6,Color.FromArgb(190,190,190));
	var_Items.set_CellValue(h,6,"sum(all,rec,%6)");
	var_Items.set_CellValueFormat(h,6,exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField);
exg2antt1.Refresh();
exg2antt1.EndUpdate();

2184
How can I add multiple values/columns on the same line/item/row

// Change event - Occurs when the user changes the cell's content.
private void exg2antt1_Change(object sender,int   Item,int   ColIndex,ref object   NewValue)
{
	exg2antt1.Refresh();
}
//this.exg2antt1.Change += new exontrol.EXG2ANTTLib.exg2antt.ChangeEventHandler(this.exg2antt1_Change);

exg2antt1.BeginUpdate();
exg2antt1.SortOnClick = exontrol.EXG2ANTTLib.SortOnClickEnum.exNoSort;
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exGroupLinesOutside;
exg2antt1.Indent = 13;
exg2antt1.HeaderVisible = exontrol.EXG2ANTTLib.HeaderVisibleEnum.exHeaderHidden;
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	var_Columns.Add("Items");
	(var_Columns.Add("Quantity") as exontrol.EXG2ANTTLib.Column).Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.SpinType;
	(var_Columns.Add("Value") as exontrol.EXG2ANTTLib.Column).Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.SpinType;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Items");
	var_Items.set_CellValue(h,2,"sum(current,dir,dbl(%1)*dbl(%2))");
	var_Items.set_CellValueFormat(h,2,exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField);
	var_Items.set_FormatCell(h,2,"`Total: `+ value");
	var_Items.set_CellHAlignment(h,2,exontrol.EXG2ANTTLib.AlignmentEnum.RightAlignment);
	var_Items.set_CellBold(h,2,true);
	var_Items.set_CellEditorVisible(h,2,exontrol.EXG2ANTTLib.EditorVisibleEnum.exEditorHidden);
	var_Items.set_CellEditorVisible(h,1,exontrol.EXG2ANTTLib.EditorVisibleEnum.exEditorHidden);
	int h1 = var_Items.InsertItem(h,null,"Item 1");
	var_Items.set_CellValue(h1,1,10);
	var_Items.set_CellValue(h1,2,3);
	h1 = var_Items.InsertItem(h,null,"Item 2");
	var_Items.set_CellValue(h1,1,20);
	var_Items.set_CellValue(h1,2,4);
	var_Items.set_ExpandItem(h,true);
exg2antt1.EndUpdate();

2183
Is it possible, to add more aggregate functions to grouping header

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
private void exg2antt1_AddGroupItem(object sender,int   Item)
{
	exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
		var_Items.set_FormatCell(Item,var_Items.get_GroupItem(Item),"value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`");
		var_Items.set_CellValue(Item,"Min","min(current,all,dbl(%6))");
		var_Items.set_CellValueFormat(Item,"Min",exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField);
		var_Items.set_CellValue(Item,"Max","max(current,all,dbl(%6))");
		var_Items.set_CellValueFormat(Item,"Max",exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField);
		var_Items.set_CellValue(Item,"Sum","sum(current,all,dbl(%6))");
		var_Items.set_CellValueFormat(Item,"Sum",exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField);
}
//this.exg2antt1.AddGroupItem += new exontrol.EXG2ANTTLib.exg2antt.AddGroupItemEventHandler(this.exg2antt1_AddGroupItem);

// Change event - Occurs when the user changes the cell's content.
private void exg2antt1_Change(object sender,int   Item,int   ColIndex,ref object   NewValue)
{
	exg2antt1.Refresh();
}
//this.exg2antt1.Change += new exontrol.EXG2ANTTLib.exg2antt.ChangeEventHandler(this.exg2antt1_Change);

exg2antt1.BeginUpdate();
exg2antt1.HasLines = exontrol.EXG2ANTTLib.HierarchyLineEnum.exNoLine;
exg2antt1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",exontrol.ADODB.CursorTypeEnum.adOpenStatic,exontrol.ADODB.LockTypeEnum.adLockOptimistic,0);
exg2antt1.DataSource = (rs as ADODB.Recordset);
exg2antt1.SingleSort = false;
exg2antt1.SortBarVisible = true;
exg2antt1.AllowGroupBy = true;
exg2antt1.Columns[1].SortOrder = true;
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	(var_Columns.Add("Min") as exontrol.EXG2ANTTLib.Column).Visible = false;
	(var_Columns.Add("Max") as exontrol.EXG2ANTTLib.Column).Visible = false;
	(var_Columns.Add("Sum") as exontrol.EXG2ANTTLib.Column).Visible = false;
exg2antt1.EndUpdate();

2182
Is it possible to display more aggregate functions to a single cell (method 2)

// Change event - Occurs when the user changes the cell's content.
private void exg2antt1_Change(object sender,int   Item,int   ColIndex,ref object   NewValue)
{
	exg2antt1.Refresh();
}
//this.exg2antt1.Change += new exontrol.EXG2ANTTLib.exg2antt.ChangeEventHandler(this.exg2antt1_Change);

exg2antt1.BeginUpdate();
exg2antt1.SortOnClick = exontrol.EXG2ANTTLib.SortOnClickEnum.exNoSort;
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exGroupLinesOutside;
exg2antt1.Indent = 13;
exg2antt1.HeaderVisible = exontrol.EXG2ANTTLib.HeaderVisibleEnum.exHeaderHidden;
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	var_Columns.Add("Items");
	(var_Columns.Add("Quantity") as exontrol.EXG2ANTTLib.Column).Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.SpinType;
	(var_Columns.Add("Sum") as exontrol.EXG2ANTTLib.Column).Visible = false;
	(var_Columns.Add("Min") as exontrol.EXG2ANTTLib.Column).Visible = false;
	(var_Columns.Add("Max") as exontrol.EXG2ANTTLib.Column).Visible = false;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Items");
	var_Items.set_CellMerge(h,0,1);
	var_Items.set_FormatCell(h,0,"`Items, <b>sum(` + %2 + `), min(` + %3 + `), max(` + %4 + `)</b>`");
	var_Items.set_CellValueFormat(h,0,exontrol.EXG2ANTTLib.ValueFormatEnum.exHTML);
	var_Items.set_CellValue(h,2,"sum(current,dir,dbl(%1))");
	var_Items.set_CellValueFormat(h,2,exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField);
	var_Items.set_CellValue(h,3,"min(current,dir,dbl(%1))");
	var_Items.set_CellValueFormat(h,3,exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField);
	var_Items.set_CellValue(h,4,"max(current,dir,dbl(%1))");
	var_Items.set_CellValueFormat(h,4,exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField);
	var_Items.set_CellValue(var_Items.InsertItem(h,null,"Item 1"),1,10);
	var_Items.set_CellValue(var_Items.InsertItem(h,null,"Item 2"),1,20);
	var_Items.set_CellValue(var_Items.InsertItem(h,null,"Item 3"),1,30);
	var_Items.set_ExpandItem(h,true);
exg2antt1.EndUpdate();

2181
How can I use the current in the aggregate/total field

// Change event - Occurs when the user changes the cell's content.
private void exg2antt1_Change(object sender,int   Item,int   ColIndex,ref object   NewValue)
{
	exg2antt1.Refresh();
}
//this.exg2antt1.Change += new exontrol.EXG2ANTTLib.exg2antt.ChangeEventHandler(this.exg2antt1_Change);

exg2antt1.BeginUpdate();
exg2antt1.SortOnClick = exontrol.EXG2ANTTLib.SortOnClickEnum.exNoSort;
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exGroupLinesOutside;
exg2antt1.Indent = 13;
exg2antt1.HeaderVisible = exontrol.EXG2ANTTLib.HeaderVisibleEnum.exHeaderHidden;
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	var_Columns.Add("Items");
	(var_Columns.Add("Quantity") as exontrol.EXG2ANTTLib.Column).Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.SpinType;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Items");
	var_Items.set_CellValue(h,1,"sum(current,dir,dbl(%1))");
	var_Items.set_CellValueFormat(h,1,exontrol.EXG2ANTTLib.ValueFormatEnum.exTotalField);
	var_Items.set_FormatCell(h,1,"`Total: `+ value");
	var_Items.set_CellValue(var_Items.InsertItem(h,null,"Item 1"),1,10);
	var_Items.set_CellValue(var_Items.InsertItem(h,null,"Item 2"),1,20);
	var_Items.set_CellValue(var_Items.InsertItem(h,null,"Item 3"),1,30);
	var_Items.set_ExpandItem(h,true);
exg2antt1.EndUpdate();

2180
The CellValue/CellCaption property gets the result of a computed/total field with text formatting. Is it possible to get that value without text formatting

exg2antt1.BeginUpdate();
(exg2antt1.Columns.Add("A") as exontrol.EXG2ANTTLib.Column).Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.SpinType;
(exg2antt1.Columns.Add("B") as exontrol.EXG2ANTTLib.Column).Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.SpinType;
exg2antt1.Columns.Add("A+B");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem(10);
	var_Items.set_CellValue(h,1,20);
	var_Items.set_CellValueFormat(h,2,exontrol.EXG2ANTTLib.ValueFormatEnum.exComputedField);
	var_Items.set_CellValue(h,2,"currency(dbl(%0)+dbl(%1))");
	System.Diagnostics.Debug.Print( "CellCaption returns " );
	System.Diagnostics.Debug.Print( var_Items.get_CellCaption(h,2) );
	System.Diagnostics.Debug.Print( "CellValue returns " );
	System.Diagnostics.Debug.Print( var_Items.get_CellValue(h,2).ToString() );
	System.Diagnostics.Debug.Print( "ComputeValue returns " );
	System.Diagnostics.Debug.Print( var_Items.get_ComputeValue("dbl(%0)+dbl(%1)",h,0,var_Items.get_CellValueFormat(h,2)).ToString() );
exg2antt1.EndUpdate();

2179
Can I get the result of a specified formula as your control does using the ComputedField property
exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("A");
exg2antt1.Columns.Add("B");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem(10);
	var_Items.set_CellValue(h,1,20);
	System.Diagnostics.Debug.Print( "A+B is " );
	System.Diagnostics.Debug.Print( var_Items.get_ComputeValue("dbl(%0)+dbl(%1)",h,0,2).ToString() );
exg2antt1.EndUpdate();

2178
Is it possible to get the text without HTML formatting
exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("<b>bold</b>");
	System.Diagnostics.Debug.Print( var_Items.get_ComputeValue(var_Items.get_CellValue(h,0),h,0,1).ToString() );
exg2antt1.EndUpdate();

2177
Transparent/Border SummaryBar

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
private void exg2antt1_AddGroupItem(object sender,int   Item)
{
	exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
		var_Items.set_ItemDividerLine(Item,exontrol.EXG2ANTTLib.DividerLineEnum.EmptyLine);
		var_Items.AddBar(Item,"Summary",Convert.ToDateTime("12/2/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/2/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
		var_Items.DefineSummaryBars(Item,"",-3,"");
}
//this.exg2antt1.AddGroupItem += new exontrol.EXG2ANTTLib.exg2antt.AddGroupItemEventHandler(this.exg2antt1_AddGroupItem);

// AddItem event - Occurs after a new Item has been inserted to Items collection.
private void exg2antt1_AddItem(object sender,int   Item)
{
	exg2antt1.Items.AddBar(Item,"Task",Convert.ToDateTime("12/4/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/10/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
}
//this.exg2antt1.AddItem += new exontrol.EXG2ANTTLib.exg2antt.AddItemEventHandler(this.exg2antt1_AddItem);

exg2antt1.BeginUpdate();
exg2antt1.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABHEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKMIziaQJiYLBIaRgEUTRXASCQxDBKQBSeKkRRtDaOYDnGQYD" +
"iCIouQLEIxDKItBSJCKURJkAZZHjeToSR5PMb0dKdAw5I6raShEaaIiqJIXP7Fc7QSA0EgTBIFajgOpQAb+bptW7FVDULTMQS5FCZKasOA7FgOZ4DWjUVpwTZ1Q4LC65" +
"bjuaraawKbYbXrFYJQSA8EwjNjDcLuKqcKpvDJsSJIFKxOB2KYtBLMLbzLR5apjLZ0QLSOKRDoMEgRDYGdKjLScGrGao8ABtcBlAZJRjoOo5DJgeCQapUQhNczGQzQSI" +
"iBOJZAFSQwRHcJhGh2BZvngMIeA8H4TksA5ylgZBeg8X4GmGX4nniPazneQ5VnKdp9H8P4vD+X57nMRofmgBZ4FgIAoBWdoBGAGAeAgfxfjgNZ1DqWxEA0ASAgA==");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.LevelCount = 2;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("12/2/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.set_PaneWidth(false,256);
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars["Summary"];
		var_Bar.Color32 = 0x1000000;
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption,"<%=%513%>");
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption,18);
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaptionHOffset,8);
	exontrol.EXG2ANTTLib.Bar var_Bar1 = var_Chart.Bars["Task"];
		var_Bar1.Pattern = exontrol.EXG2ANTTLib.PatternEnum.exPatternBox;
		var_Bar1.Color = Color.FromArgb(0,0,0);
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	var_Columns.Add("C1");
	var_Columns.Add("C2");
	exontrol.EXG2ANTTLib.Column var_Column = (var_Columns.Add("Pos") as exontrol.EXG2ANTTLib.Column);
		var_Column.FormatColumn = "1 pos ``";
		var_Column.AllowGroupBy = false;
		var_Column.Position = 0;
		var_Column.Width = 48;
		var_Column.AllowSizing = false;
exg2antt1.SortBarVisible = true;
exg2antt1.AllowGroupBy = true;
exg2antt1.BackColorSortBar = exg2antt1.BackColor;
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.set_CellValue(var_Items.AddItem("Item A"),1,"SubItem A.1");
	var_Items.set_CellValue(var_Items.AddItem("Item A"),1,"SubItem A.2");
	var_Items.set_CellValue(var_Items.AddItem("Item A"),1,"SubItem A.3");
	var_Items.set_CellValue(var_Items.AddItem("Item A"),1,"SubItem A.4");
	var_Items.set_CellValue(var_Items.AddItem("Item B"),1,"SubItem B.1");
	var_Items.set_CellValue(var_Items.AddItem("Item B"),1,"SubItem B.2");
exg2antt1.Columns[0].SortOrder = exontrol.EXG2ANTTLib.SortOrderEnum.SortAscending;
exg2antt1.EndUpdate();

2176
The bar's caption is very difficult to read if any pattern than exPatternSolid is used. Is there any way of displaying the bar's caption (except for displaying the caption outside the bar)

exg2antt1.BeginUpdate();
exg2antt1.Font.Size = 12;
exg2antt1.DefaultItemHeight = 24;
exg2antt1.Columns.Add("Task");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.LevelCount = 2;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars["Task"];
		var_Bar.Height = 21;
		var_Bar.Pattern = exontrol.EXG2ANTTLib.PatternEnum.exPatternDiagCross;
	var_Chart.set_PaneWidth(false,128);
	var_Chart.UnitWidth = 24;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/6/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption,"to do");
	h = var_Items.AddItem("bgcolor");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/6/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption,"<bgcolor=FFFFFF> to do </bgcolor>");
	h = var_Items.AddItem("fgcolor");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/6/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption,"<fgcolor=FFFFFF> to do </fgcolor>");
	h = var_Items.AddItem("sha");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/6/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption,"<sha FFFFFF;2;2> to do </sha>");
	h = var_Items.AddItem("out");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/6/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption,"<out 000000><fgcolor=FFFFFF>to do</fgcolor></out></font>");
	h = var_Items.AddItem("gra");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/6/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption,"<fgcolor FFFFFF><gra 000000;1;1>to do</fgcolor>");
exg2antt1.EndUpdate();

2175
How can I change the position of the bar's tooltip

// ToolTip event - Fired when the control prepares the object's tooltip.
private void exg2antt1_ToolTip(object sender,int   Item,int   ColIndex,ref bool   Visible,ref int   X,ref int   Y,int   CX,int   CY)
{
	System.Diagnostics.Debug.Print( "ToolTip" );
	System.Diagnostics.Debug.Print( Item.ToString() );
	System.Diagnostics.Debug.Print( ColIndex.ToString() );
	System.Diagnostics.Debug.Print( Visible.ToString() );
	System.Diagnostics.Debug.Print( X.ToString() );
	System.Diagnostics.Debug.Print( Y.ToString() );
	System.Diagnostics.Debug.Print( CX.ToString() );
	System.Diagnostics.Debug.Print( CY.ToString() );
	X = exg2antt1.FormatABC("value + 8",X,null,null);
	Y = exg2antt1.FormatABC("value - 8",Y,null,null);
}
//this.exg2antt1.ToolTip += new exontrol.EXG2ANTTLib.exg2antt.ToolTipEventHandler(this.exg2antt1_ToolTip);

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Task");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.set_PaneWidth(false,64);
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.Bars["Task"].set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarToolTip,"<b><%=%9 + '/' + %C0%></b><br><upline><dotline>Start: <%=%1%><br>End: <%=%2%><br>Duration: <%=(%2-%1)%><br>Working: <%=%258%>");
	var_Chart.LevelCount = 2;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddBar(var_Items.AddItem("Tasks A"),"Task",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/4/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.AddItem("Tasks B"),"Task",Convert.ToDateTime("1/3/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/8/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
exg2antt1.EndUpdate();

2174
How can I replace the cell's context menu ( while edit mode is running )

// RClick event - Fired when right mouse button is clicked
private void exg2antt1_RClick(object sender)
{
	System.Diagnostics.Debug.Print( "Edit Mode: " );
	System.Diagnostics.Debug.Print( exg2antt1.Editing.ToString() );
	// Add 'exontrol.excontextmenu.dll(ExContextMenu.dll)' reference to your project.
	// Add 'ExContextMenu 1.0 Type Library(ExContextMenu.dll)' reference to your project.
	exontrol.EXCONTEXTMENULib.excontextmenu var_ExContextMenu = new exontrol.EXCONTEXTMENULib.excontextmenu();
		var_ExContextMenu.Items.ToString = "Check[chk],[sep],Item 1,Item 2,Item 3,Popup(A,B,C)";
		System.Diagnostics.Debug.Print( var_ExContextMenu.Select(null,null,null).ToString() );
}
//this.exg2antt1.RClick += new exontrol.EXG2ANTTLib.exg2antt.RClickEventHandler(this.exg2antt1_RClick);

exg2antt1.BeginUpdate();
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Flat;
exontrol.EXG2ANTTLib.Editor var_Editor = (exg2antt1.Columns.Add("Column") as exontrol.EXG2ANTTLib.Column).Editor;
	var_Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.EditType;
	var_Editor.set_Option(exontrol.EXG2ANTTLib.EditorOptionEnum.exEditAllowContextMenu,false);
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("Item 1");
	var_Items.AddItem("Item 2");
exg2antt1.EndUpdate();

2173
Is it possible to highlight the column's header once a filter is applied (sample 2)

exg2antt1.BeginUpdate();
exontrol.EXG2ANTTLib.Appearance var_Appearance = exg2antt1.VisualAppearance;
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABO8GACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwQgmNYDSBMcbwS" +
"AsXRYFocJ5gOT6AjKBA2UclEZpajiTY3ABUEgUS5oOBIACqariaQJAAiCRQGiYZyHKaRSwPBKFYDIIjbJheTIDChNVxUcDENQjJqLBIDRzbarye59YBfeBXdgmA4LQbD" +
"MRwNgMMQTDqKYbkOQZHbeGKAWTMEZzJj8cxTEqIaBhGTLfojSZMS7UGK1LLtMyHI6kP7sOiLfi2W4/W7XV72F79TzXIa2ZBuO57bhnAZ/VzGNj4PRNezfRqicjsGxcZw" +
"Xg+TpQj0ew6gSOw7wSbozjsfYXi8PwMnSc52leHotl+MxjmoXh2nybxOH+SQtnYXx+D2P4vGMB56hQf5PCgBYeDwYBCEo1xggebgKH6IIDBYBgkiAQ5FgYPAhEIRgWGq" +
"DBoC4GoCiGCBYhGBQPAWdIQp0eIUiWCZigiJgqgqYpIioJQhmIMhBH0NxjEMag2g2Y4ImYOoOmOSJeDQNxXlOLR3ECUAQICA=");
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABgsHQAAYAQGKIcBiAKBQAGaAoDDYNwwQwAAxDAKcEwsACEIrjKCRShyCYZRrGUgRCKQahLEiTIhGUYJHgmK4tRoAUgxWCEExrAaQJjjeCQF" +
"i6LAtDhPMByfQEZQIGyjkgjNLUcSbG4AKgkCiXfpUAJVP7FcgSABEEigNIxToOU4jFgeCYLQKQRK2RC9GQGFCbLhpYKIahGTYWVheN5XXblez9P7ABQwKCcAwXBp7YIK" +
"AT4XBIdYdQ7IL4xGA0AJPFoJC7mOQ5XiYAIBAZ/RL0LCcbxHHafVboQj6JouD5PUDVNY1XBdPynI6CbLhWy6Dq4UZzPwzeBifSHfDjRoJcCZe71KY3GwSEboNA6Kp+QB" +
"HAmZoZjSPYIEiF47lOLJVnuYofBwJJHmaQoYj0MIRHeM4/m6cJ8B+fpBHQJ5SGKPYYH8OYMk+P5Bn4fxaAYZAvEIX4RgUWBGgCCAmAqApgkgNgOgMEYlGASoEkQeBWBa" +
"BZhggZgagaYRoEwShWA6NZZAMQBAICA==");
exg2antt1.set_Background32(exontrol.EXG2ANTTLib.BackgroundPartEnum.exHeaderFilterBarButton,0x1000000);
exg2antt1.set_Background32(exontrol.EXG2ANTTLib.BackgroundPartEnum.exHeaderFilterBarActive,0x2000000);
exg2antt1.set_Background32(exontrol.EXG2ANTTLib.BackgroundPartEnum.exCursorHoverColumn,-1);
exg2antt1.HeaderHeight = 28;
exg2antt1.BackColorHeader = Color.FromArgb(255,255,255);
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exRowLines;
exg2antt1.HeaderVisible = exontrol.EXG2ANTTLib.HeaderVisibleEnum.exHeaderVisibleExtendLevels;
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	(var_Columns.Add("C1") as exontrol.EXG2ANTTLib.Column).DisplayFilterButton = true;
	exontrol.EXG2ANTTLib.Column var_Column = (var_Columns.Add("C2") as exontrol.EXG2ANTTLib.Column);
		var_Column.DisplayFilterButton = true;
		var_Column.Filter = "Item 2";
		var_Column.FilterType = exontrol.EXG2ANTTLib.FilterTypeEnum.exFilter;
	(var_Columns.Add("C3") as exontrol.EXG2ANTTLib.Column).DisplayFilterButton = true;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Item 1");
	var_Items.set_CellValue(h,1,"Item 2");
	var_Items.set_CellValue(h,2,"Item 3");
	h = var_Items.AddItem("Item 4");
	var_Items.set_CellValue(h,1,"Item 5");
	var_Items.set_CellValue(h,2,"Item 6");
exg2antt1.ApplyFilter();
exg2antt1.EndUpdate();

2172
How can I make the expand/collapse glyphs DPI aware

string size = 2;
exg2antt1.BeginUpdate();
exontrol.EXG2ANTTLib.Appearance var_Appearance = exg2antt1.VisualAppearance;
	var_Appearance.Add(3,"gBFLBCJwBAEHhEJAAEhEGAUHQAAYAQGKIcBiAKBQAGaAoDDYOA4QwAAxDAKcEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRfIUEghGyNZjgNzQc" +
"CQAI8T5IUgARBJIDSMY6DpOIxYHgmC4DEITNLxOK0EhRHCBZrgOCAYhqEY1Ro+dhPFYjVTMdK0LRtKy7Mq2aJmOpZDxWE7dZKpO5fbxXS67cr2fp/YBed4rfa7KTlOBK" +
"cRQRBEFQPDqPZBkORZHh2FoLRJKbgtHJmHYNQWhVyYBbNCyTI6lahpeuHBx1QaWWxjbCMEr6bpoWLbFi3Ha1UzrPa8b5vSw7Gr+HzYQTHGPXGqaYJdZrnea6B7+U5XUJ" +
"rnSOZciYHwhAeR5HDK+JVGqKRRmScx5HyfRei+H5bmmcp4Fi8o/CGGJKGQKZUGoFQigUPIiCeSZXnyHB6l0SAJn8JxfkIeZ5CgXxjCCAhyB8QgIlAM4MlKAIcCaIBIGY" +
"GoGGEYhqBMMxgnICgRDUDQjESGwmAkWBuCqBoiHIVgkDQYgYESWg2E0YhohcJQigITg3CQSRyEyEYGGOWJwhQJD4FiFIMk0aJFGsIBkkOBJeDc+AchYJwJgIWhSgYZQp" +
"FIVoVGOGQ4l2EwIBWMhgDmDhThCEwkAiaJchKDhjhgZhsCUY4iFCEoZkiaYQmSGAWhWQhgDuDpTjCDQiEgchAg0IpJBoDoFiEKBqCaCAimgIguH8IZnkPUhcBcJg+hGJ" +
"ZnloYJsiaKZKGa24YnWSR0CkKhCA2CxlCqColhAYpqEKER0DqVZ0A0ASAgA==");
	var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAEhABAQCg6AADACAxRDgMQBQKAAzQFAYbBwHCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACjeQYJBCNYbTJAbqhY" +
"IgAR3HqQZABCCSQKkYx0HScRiwPBMFwGIQmaaicZoJCiN4DTZAcIBRDUIxpDR9bBeKw3KqVaZnWhaNpWXZlTzKdSxXisF67RZSdi/XgvF5XXblez9P69LwXe5mUrGbyV" +
"YghCCIKgeG4dR7IMhyLDcKQXCCVW7aGSsOwbAqAXpdGAXTQdDyLJKnaZqOi6BjjA4rNbHGIYJb1XTRMa1LJuG5LJrOeZ3Xre4BLfh1VoFRpjWIYNY1QS7TLOczzfRdDx" +
"TiGVpkjCeJoD4Ng1hSRxiisVRKg8D4PkWZJznmPQ+F8Xx5guWpjHGWYMiYQodEaIRSCgU5KCSeh3naHB/iAAh9n8fwfgIeZ1CgXwjCCAhxl8AgIlAM4MlKAIcCaD54FY" +
"FoFmGCBmBaBIJigPJNgKSAoDSVC+BIbIYCUYYoiYKoJgkWIMlGCAglMaJZDWCYiFyFIJkkOJYhEJc7G4PYPCOaJshQJBjgiVIUgyDRokEaggGSQ4El4N1CBiFgnAmAha" +
"FKFZlFkShUhWJRYmITg3GSQgFGuGBOGOFJkCSSQCDoNgkiOCY0hUJJmmmQhvhqZtYmUOQmBWIRvhgTpjjSbAjEiEgchBZgyEaBIhigWgegqIhIjoDILiACB5nTL5WnWR" +
"YOiSKYJnqGQ7CmOh2hqJ5OkYORxFyShKhSAxihkOomioY5YiqFIkFyTo1HkAxAEAgIA==");
	var_Appearance.Add(1,exg2antt1.FormatABC("`CP:3 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)",size,null,null));
	var_Appearance.Add(2,exg2antt1.FormatABC("`CP:4 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)",size,null,null));
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exGroupLinesAtRoot;
exg2antt1.HasButtons = exontrol.EXG2ANTTLib.ExpandButtonEnum.exCustom;
exg2antt1.set_HasButtonsCustom(false,16777216);
exg2antt1.set_HasButtonsCustom(true,33554432);
exg2antt1.Columns.Add("Column");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child");
exg2antt1.EndUpdate();

2171
Is it possible to highlight the column's header once a filter is applied (sample 1)

exg2antt1.BeginUpdate();
exontrol.EXG2ANTTLib.Appearance var_Appearance = exg2antt1.VisualAppearance;
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgAN" +
"J0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8Y" +
"NYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4" +
"hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" +
"bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhW" +
"BMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=");
	var_Appearance.Add(1,"CP:2 -8 -4 2 4");
exg2antt1.set_Background32(exontrol.EXG2ANTTLib.BackgroundPartEnum.exHeaderFilterBarButton,0x1fefefe);
exg2antt1.set_Background32(exontrol.EXG2ANTTLib.BackgroundPartEnum.exHeaderFilterBarActive,0x1010101);
exg2antt1.set_Background32(exontrol.EXG2ANTTLib.BackgroundPartEnum.exCursorHoverColumn,-1);
exg2antt1.HeaderHeight = 28;
exg2antt1.BackColorHeader = Color.FromArgb(255,255,255);
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exRowLines;
exg2antt1.HeaderVisible = exontrol.EXG2ANTTLib.HeaderVisibleEnum.exHeaderVisibleExtendLevels;
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	(var_Columns.Add("C1") as exontrol.EXG2ANTTLib.Column).DisplayFilterButton = true;
	exontrol.EXG2ANTTLib.Column var_Column = (var_Columns.Add("C2") as exontrol.EXG2ANTTLib.Column);
		var_Column.DisplayFilterButton = true;
		var_Column.Filter = "Item 2";
		var_Column.FilterType = exontrol.EXG2ANTTLib.FilterTypeEnum.exFilter;
	(var_Columns.Add("C3") as exontrol.EXG2ANTTLib.Column).DisplayFilterButton = true;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Item 1");
	var_Items.set_CellValue(h,1,"Item 2");
	var_Items.set_CellValue(h,2,"Item 3");
	h = var_Items.AddItem("Item 4");
	var_Items.set_CellValue(h,1,"Item 5");
	var_Items.set_CellValue(h,2,"Item 6");
exg2antt1.ApplyFilter();
exg2antt1.EndUpdate();

2170
How do I update itemcount and matchitemcount of the FilterBarCaption after I added the item using the AddItem method
// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
private void exg2antt1_Click(object sender)
{
	exg2antt1.Items.AddItem("new");
	exg2antt1.Refresh();
}
//this.exg2antt1.Click += new exontrol.EXG2ANTTLib.exg2antt.ClickEventHandler(this.exg2antt1_Click);

exg2antt1.BeginUpdate();
exg2antt1.Chart.set_PaneWidth(true,0);
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Item") as exontrol.EXG2ANTTLib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.FilterList = exontrol.EXG2ANTTLib.FilterListEnum.exShowExclude | exontrol.EXG2ANTTLib.FilterListEnum.exShowFocusItem | exontrol.EXG2ANTTLib.FilterListEnum.exShowCheckBox | exontrol.EXG2ANTTLib.FilterListEnum.exSortItemsAsc;
exontrol.EXG2ANTTLib.Column var_Column1 = (exg2antt1.Columns.Add("Pos") as exontrol.EXG2ANTTLib.Column);
	var_Column1.AllowSizing = false;
	var_Column1.AllowSort = false;
	var_Column1.Width = 32;
	var_Column1.FormatColumn = "1 apos ``";
	var_Column1.Position = 0;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("Item A");
	var_Items.AddItem("Item B");
	var_Items.AddItem("Item C");
exg2antt1.FilterBarCaption = "`<r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1" +
") + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )";
exg2antt1.FilterBarPromptVisible = exontrol.EXG2ANTTLib.FilterBarVisibleEnum.exFilterBarCompact | exontrol.EXG2ANTTLib.FilterBarVisibleEnum.exFilterBarShowCloseOnRight | exontrol.EXG2ANTTLib.FilterBarVisibleEnum.exFilterBarShowCloseIfRequired | exontrol.EXG2ANTTLib.FilterBarVisibleEnum.exFilterBarCaptionVisible | exontrol.EXG2ANTTLib.FilterBarVisibleEnum.exFilterBarVisible | exontrol.EXG2ANTTLib.FilterBarVisibleEnum.exFilterBarPromptVisible;
exg2antt1.EndUpdate();

2169
The Edit method does not work while ReadOnly property is exLocked and the first column is hidden. Is there any fix

// DblClick event - Occurs when the user dblclk the left mouse button over an object.
private void exg2antt1_DblClick(object sender,short   Shift,int   X,int   Y)
{
	int var_ItemFromPoint = exg2antt1.get_ItemFromPoint(-1,-1,c,hit);
	exg2antt1.FocusColumnIndex = c;
	exg2antt1.Edit(null);
}
//this.exg2antt1.DblClick += new exontrol.EXG2ANTTLib.exg2antt.DblClickEventHandler(this.exg2antt1_DblClick);

exg2antt1.BeginUpdate();
exg2antt1.Chart.set_PaneWidth(true,0);
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exg2antt1.AutoEdit = false;
exg2antt1.ReadOnly = exontrol.EXG2ANTTLib.ReadOnlyEnum.exLocked;
exg2antt1.AutoSearch = true;
(exg2antt1.Columns.Add("") as exontrol.EXG2ANTTLib.Column).Visible = false;
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Contains") as exontrol.EXG2ANTTLib.Column);
	var_Column.AutoSearch = exontrol.EXG2ANTTLib.AutoSearchEnum.exContains;
	var_Column.Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.EditType;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.set_CellValue(var_Items.AddItem(null),1,"Tom Hanks");
	var_Items.set_CellValue(var_Items.AddItem(null),1,"Leonardo DiCaprio");
	var_Items.set_CellValue(var_Items.AddItem(null),1,"Will Smith");
	var_Items.set_CellValue(var_Items.AddItem(null),1,"Tom Cruise");
exg2antt1.EndUpdate();

2168
How can I highlight the cell's button with a different appearance, when cursor hovers it

exg2antt1.BeginUpdate();
exg2antt1.VisualAppearance.Add(1,"c:\\exontrol\\images\\normal.ebn");
exg2antt1.DefaultItemHeight = 22;
exg2antt1.TreeColumnIndex = -1;
exg2antt1.SelForeColor = Color.FromArgb(0,0,0);
exg2antt1.SelBackColor = exg2antt1.BackColor;
exg2antt1.set_Background32(exontrol.EXG2ANTTLib.BackgroundPartEnum.exCursorHoverCellButton,0x1000000);
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Buttons") as exontrol.EXG2ANTTLib.Column);
	var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellHasButton,true);
	var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellValueFormat,1);
	var_Column.Alignment = exontrol.EXG2ANTTLib.AlignmentEnum.CenterAlignment;
	var_Column.HeaderAlignment = exontrol.EXG2ANTTLib.AlignmentEnum.CenterAlignment;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("Button <b>1</b>");
	var_Items.AddItem("Button <b>2</b>");
	var_Items.AddItem("Button <b>3</b>");
exg2antt1.EndUpdate();

2167
How to group one or more operations into a block when the user do undo or redo

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Tasks");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.AllowUndoRedo = true;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("6/20/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.AllowLinkBars = true;
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,64);
	var_Chart.Bars["Task"].Height = 16;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.StartBlockUndoRedo();
	var_Items.AddBar(var_Items.AddItem("Task 1"),"Task",Convert.ToDateTime("6/23/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("6/27/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.AddBar(var_Items.AddItem("Task 2"),"Task",Convert.ToDateTime("6/28/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("7/2/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.AddLink("L1",var_Items[0],"",var_Items[1],"");
	var_Items.EndBlockUndoRedo();
	int h = var_Items[1];
exontrol.EXG2ANTTLib.Note var_Note = exg2antt1.Chart.Notes.Add("NoteD",h,Convert.ToDateTime("6/26/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"CTRL+Z (undo), CTRL+Y (redo)");
	var_Note.set_PartShadow(exontrol.EXG2ANTTLib.NotePartEnum.exNoteEnd,false);
	var_Note.set_PartToolTip(exontrol.EXG2ANTTLib.NotePartEnum.exNoteEnd,"Press CTRL+Z to undo <br> and then press CTRL+Y to redo");
	var_Note.set_PartTransparency(exontrol.EXG2ANTTLib.NotePartEnum.exNoteEnd,25);
	var_Note.set_PartVOffset(exontrol.EXG2ANTTLib.NotePartEnum.exNoteEnd,-2);
	var_Note.set_PartBackColor(exontrol.EXG2ANTTLib.NotePartEnum.exNoteEnd,Color.FromArgb(255,255,0));
exg2antt1.EndUpdate();

2166
I am using the Link property to customize the link, but when I press redo it (CTRL+Y) to redo it, not all properties are restored. What can be done

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Tasks");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.AllowUndoRedo = true;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("6/20/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.AllowLinkBars = true;
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,64);
	var_Chart.Bars["Task"].Height = 16;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddBar(var_Items.AddItem("Task 1"),"Task",Convert.ToDateTime("6/23/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("7/1/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.AddBar(var_Items.AddItem("Task 2"),"Task",Convert.ToDateTime("6/27/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("7/4/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.StartBlockUndoRedo();
	var_Items.AddLink("L1",var_Items[0],"",var_Items[1],"");
	int u = var_Items.get_StartUpdateLink("L1");
	var_Items.set_Link("L1",exontrol.EXG2ANTTLib.LinkPropertyEnum.exLinkWidth,2);
	var_Items.set_Link("L1",exontrol.EXG2ANTTLib.LinkPropertyEnum.exLinkText,"<fgcolor FF0000>CTRL+Z (undo), CTRL+Y (redo)");
	var_Items.set_Link("L1",exontrol.EXG2ANTTLib.LinkPropertyEnum.exLinkToolTip,"Press CTRL+Z to undo <br> and then press CTRL+Y to redo");
	var_Items.set_Link("L1",exontrol.EXG2ANTTLib.LinkPropertyEnum.exLinkStartPos,0);
	var_Items.set_Link("L1",exontrol.EXG2ANTTLib.LinkPropertyEnum.exLinkColor,255);
	var_Items.EndUpdateLink(u);
	var_Items.EndBlockUndoRedo();
exg2antt1.EndUpdate();

2165
I am using the ItemBar property to customize the task, but when I press redo it (CTRL+Y) to redo it, not all properties are restored. What can be done

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Tasks");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.AllowUndoRedo = true;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("6/20/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.AllowLinkBars = true;
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,64);
	var_Chart.Bars["Task"].Height = 16;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddBar(var_Items.AddItem("Task 1"),"Task",Convert.ToDateTime("6/21/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("6/30/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	int h = var_Items.AddItem("Task 2");
	var_Items.StartBlockUndoRedo();
	var_Items.AddBar(h,"Task",Convert.ToDateTime("6/27/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("7/4/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"","CTRL+Z (undo), CTRL+Y (redo)");
	int u = var_Items.get_StartUpdateBar(h,"");
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarColor,255);
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarToolTip,"Press CTRL+Z to undo <br> and then press CTRL+Y to redo");
	var_Items.EndUpdateBar(u);
	var_Items.EndBlockUndoRedo();
exg2antt1.EndUpdate();

2164
The incremental search feature is no working for columns with editor assigned. What can be done

// DblClick event - Occurs when the user dblclk the left mouse button over an object.
private void exg2antt1_DblClick(object sender,short   Shift,int   X,int   Y)
{
	exg2antt1.Edit(null);
}
//this.exg2antt1.DblClick += new exontrol.EXG2ANTTLib.exg2antt.DblClickEventHandler(this.exg2antt1_DblClick);

exg2antt1.BeginUpdate();
exg2antt1.Chart.set_PaneWidth(true,0);
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exg2antt1.AutoEdit = false;
exg2antt1.AutoSearch = true;
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Contains") as exontrol.EXG2ANTTLib.Column);
	var_Column.AutoSearch = exontrol.EXG2ANTTLib.AutoSearchEnum.exContains;
	var_Column.Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.EditType;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("Tom Hanks");
	var_Items.AddItem("Leonardo DiCaprio");
	var_Items.AddItem("Will Smith");
	var_Items.AddItem("Tom Cruise");
exg2antt1.EndUpdate();

2163
Each item is representated by a key as string. Is it possible to have a drop down editor to display more information when using the item's key

exg2antt1.BeginUpdate();
exg2antt1.Chart.set_PaneWidth(true,0);
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exontrol.EXG2ANTTLib.Editor var_Editor = (exg2antt1.Columns.Add("Multiple-Columns Tree DropDownListType") as exontrol.EXG2ANTTLib.Column).Editor;
	var_Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.DropDownListType;
	var_Editor.AddItem(0,"KR|Korea, Republic of",null);
	var_Editor.AddItem(1,"MO|Macao",null);
	var_Editor.AddItem(2,"SA|Saudi Arabia",null);
	var_Editor.AddItem(3,"EG|Egypt",null);
	var_Editor.AddItem(4,"GB|United Kingdom",null);
	var_Editor.AddItem(5,"GT|Guatemala",null);
	var_Editor.AddItem(6,"SR|Suriname",null);
	var_Editor.AddItem(7,"BM|Bermuda",null);
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("EG");
	var_Items.AddItem("GB");
	var_Items.AddItem("BM");
exg2antt1.EndUpdate();

2162
My table includes codes/keys for items, can I display a drop down editor to include more information

exg2antt1.BeginUpdate();
exg2antt1.Chart.set_PaneWidth(true,0);
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exontrol.EXG2ANTTLib.Editor var_Editor = (exg2antt1.Columns.Add("Multiple-Columns DropDownListType") as exontrol.EXG2ANTTLib.Column).Editor;
	var_Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.DropDownListType;
	var_Editor.DropDownAutoWidth = exontrol.EXG2ANTTLib.DropDownWidthType.exDropDownEditorWidth;
	var_Editor.set_Option(exontrol.EXG2ANTTLib.EditorOptionEnum.exDropDownColumnCaption,"City¦Coordinates¦State");
	var_Editor.AddItem(0,"JV3|Jollyville¦3026N 09746W¦Texas",null);
	var_Editor.AddItem(1,"TMO|Altamont¦4021N 11017W¦Utah",null);
	var_Editor.AddItem(2,"IIM|Williamston¦4241N 08417W¦Michigan",null);
	var_Editor.AddItem(3,"IWN|Merrittstown¦3958N 07952W¦Pennsylvania",null);
	var_Editor.AddItem(4,"HOU|Houston¦2945N 09521W¦Texas",null);
	var_Editor.AddItem(5,"GSF|Gales Ferry¦4125N 07205W¦Connecticut",null);
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("HOU");
	var_Items.AddItem("IIM");
	var_Items.AddItem("TMO");
exg2antt1.EndUpdate();

2161
How can I display and select from a multiple-columns tree editor

exg2antt1.BeginUpdate();
exg2antt1.Chart.set_PaneWidth(true,0);
exg2antt1.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exontrol.EXG2ANTTLib.Editor var_Editor = (exg2antt1.Columns.Add("Multiple-Columns Tree DropDownListType") as exontrol.EXG2ANTTLib.Column).Editor;
	var_Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.DropDownListType;
	var_Editor.DropDownAutoWidth = exontrol.EXG2ANTTLib.DropDownWidthType.exDropDownEditorWidth;
	var_Editor.set_Option(exontrol.EXG2ANTTLib.EditorOptionEnum.exDropDownColumnCaption,"Name¦Title¦City¦Phone");
	var_Editor.set_Option(exontrol.EXG2ANTTLib.EditorOptionEnum.exDropDownColumnWidth,"224¦¦¦96");
	var_Editor.AddItem(1,"Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857",1);
	var_Editor.AddItem(2,"Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482",2);
	var_Editor.InsertItem(3,"Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412",3,2);
	var_Editor.InsertItem(4,"Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122",3,2);
	var_Editor.InsertItem(5,"Steven Buchanan¦Sales Manager¦London¦(71) 555-4848",2,2);
	var_Editor.InsertItem(6,"Michael Suyama¦Sales Representative¦London¦(71) 555-7773",1,5);
	var_Editor.InsertItem(7,"Robert King¦Sales Representative¦Kirkland¦(71) 555-5598",2,2);
	var_Editor.InsertItem(8,"Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189",3,2);
	var_Editor.InsertItem(9,"Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444",2,5);
	var_Editor.ExpandAll();
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem(1);
	var_Items.AddItem(2);
	var_Items.AddItem(4);
exg2antt1.EndUpdate();

2160
Does you control support multiple-columns for a drop down editor

exg2antt1.BeginUpdate();
exg2antt1.Chart.set_PaneWidth(true,0);
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exontrol.EXG2ANTTLib.Editor var_Editor = (exg2antt1.Columns.Add("Multiple-Columns DropDownListType") as exontrol.EXG2ANTTLib.Column).Editor;
	var_Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.DropDownListType;
	var_Editor.DropDownAutoWidth = exontrol.EXG2ANTTLib.DropDownWidthType.exDropDownEditorWidth;
	var_Editor.AddItem(0,"Jollyville¦JV3¦3026N 09746W¦TX",null);
	var_Editor.AddItem(1,"Altamont¦TMO¦4021N 11017W¦UT",null);
	var_Editor.AddItem(2,"Williamston¦IIM¦4241N 08417W¦MI",null);
	var_Editor.AddItem(3,"Merrittstown¦IWN¦3958N 07952W¦PA",null);
	var_Editor.AddItem(4,"Houston¦HOU¦2945N 09521W¦TX",null);
	var_Editor.AddItem(5,"Gales Ferry¦GSF¦4125N 07205W¦CT",null);
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.InsertItem(0,"",1);
	var_Items.InsertItem(0,"",2);
	var_Items.InsertItem(0,"",4);
exg2antt1.EndUpdate();

2159
Is it possible to change the summary-bar's start or/and end margins

exg2antt1.BeginUpdate();
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exGroupLinesOutside;
exg2antt1.ColumnAutoResize = false;
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.AllowCreateBar = exontrol.EXG2ANTTLib.CreateBarEnum.exNoCreateBar;
	var_Chart.AllowLinkBars = false;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2008",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,256);
(exg2antt1.Columns.Add("Members") as exontrol.EXG2ANTTLib.Column).Width = 96;
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Start") as exontrol.EXG2ANTTLib.Column);
	var_Column.Width = 112;
	var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty,1);
	var_Column.LevelKey = 1;
exontrol.EXG2ANTTLib.Column var_Column1 = (exg2antt1.Columns.Add("End") as exontrol.EXG2ANTTLib.Column);
	var_Column1.Width = 112;
	var_Column1.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty,2);
	var_Column1.LevelKey = 1;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AllowCellValueToItemBar = true;
	int hR1 = var_Items.AddItem("Team");
	var_Items.AddBar(hR1,"Summary",Convert.ToDateTime("1/2/2008",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/8/2008",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.AddBar(hR1,"",Convert.ToDateTime("1/13/2008",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/13/2008",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"R",null);
	var_Items.set_ItemBar(hR1,"R",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarTransparent,100);
	var_Items.DefineSummaryBars(hR1,"",h1,"R");
	int h1 = var_Items.InsertItem(hR1,null,"Member 1");
	var_Items.AddBar(h1,"Task",Convert.ToDateTime("1/2/2008",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/7/2008",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.DefineSummaryBars(hR1,"",h1,"");
	h1 = var_Items.InsertItem(hR1,null,"Member 2");
	var_Items.AddBar(h1,"Task",Convert.ToDateTime("1/4/2008",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/9/2008",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.DefineSummaryBars(hR1,"",h1,"");
	h1 = var_Items.InsertItem(hR1,null,"Member 3");
	var_Items.AddBar(h1,"Task",Convert.ToDateTime("1/5/2008",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/10/2008",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.DefineSummaryBars(hR1,"",h1,"");
	var_Items.set_ExpandItem(hR1,true);
exg2antt1.EndUpdate();

2158
I want to display two lines/curves in the histogram-area such as expected and actual work effor per month. How can I do that (leaf)

exg2antt1.BeginUpdate();
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.set_PaneWidth(false,128);
	var_Chart.FirstVisibleDate = Convert.ToDateTime("10/5/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.HistogramVisible = true;
	var_Chart.HistogramHeight = 96;
	var_Chart.HistogramView = exontrol.EXG2ANTTLib.HistogramViewEnum.exHistogramNoGrouping | exontrol.EXG2ANTTLib.HistogramViewEnum.exHistogramRecLeafItems | exontrol.EXG2ANTTLib.HistogramViewEnum.exHistogramLeafItems | exontrol.EXG2ANTTLib.HistogramViewEnum.exHistogramUnlockedItems;
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars["Task"];
		var_Bar.HistogramPattern = exontrol.EXG2ANTTLib.PatternEnum.exRectangularCurve;
		var_Bar.HistogramItems = -4;
		var_Bar.HistogramBorderSize = 1;
	exontrol.EXG2ANTTLib.Bar var_Bar1 = var_Chart.Bars.Copy("Task","C");
		var_Bar1.HistogramPattern = exontrol.EXG2ANTTLib.PatternEnum.exRectangularCurve;
		var_Bar1.HistogramItems = -4;
		var_Bar1.HistogramColor = Color.FromArgb(255,0,0);
		var_Bar1.HistogramBorderSize = 2;
exg2antt1.Columns.Add("Column");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Project A");
	var_Items.AddBar(var_Items.InsertItem(h,null,"Item 1"),"Task",Convert.ToDateTime("10/7/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/14/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.InsertItem(h,null,"Item 2"),"Task",Convert.ToDateTime("10/10/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/17/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Project B");
	var_Items.AddBar(var_Items.InsertItem(h,null,"Item 1"),"C",Convert.ToDateTime("10/13/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/20/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.InsertItem(h,null,"Item 2"),"C",Convert.ToDateTime("10/15/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/23/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.set_ExpandItem(h,true);
exg2antt1.EndUpdate();

2157
I want to display two lines/curves in the histogram-area such as expected and actual work effor per month. How can I do that (flat)

// BarResize event - Occurs when a bar is moved or resized.
private void exg2antt1_BarResize(object sender,int   Item,object   Key)
{
	exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
		var_Items.set_ItemBar(Item,Key,exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarEffort,var_Items.get_ItemBar(Item,Key,exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarPercent));
		var_Items.set_ItemBar(Item,"C",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarEffort,1);
}
//this.exg2antt1.BarResize += new exontrol.EXG2ANTTLib.exg2antt.BarResizeEventHandler(this.exg2antt1_BarResize);

exg2antt1.BeginUpdate();
exg2antt1.HeaderVisible = exontrol.EXG2ANTTLib.HeaderVisibleEnum.exHeaderVisibleExtendLevels;
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("10/5/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.set_PaneWidth(false,128);
	var_Chart.LevelCount = 2;
	var_Chart.HistogramHeight = 96;
	var_Chart.HistogramVisible = true;
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars.Add("Task%Progress");
		var_Bar.HistogramPattern = exontrol.EXG2ANTTLib.PatternEnum.exRectangularCurve;
		var_Bar.HistogramItems = -4;
		var_Bar.HistogramBorderSize = 1;
		var_Bar.HistogramBorderColor = var_Bar.Color;
		var_Bar.Shortcut = "P";
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarShowPercentCaption,true);
	exontrol.EXG2ANTTLib.Bar var_Bar1 = var_Chart.Bars.Copy("Task","C");
		var_Bar1.HistogramPattern = exontrol.EXG2ANTTLib.PatternEnum.exRectangularCurve;
		var_Bar1.HistogramColor = Color.FromArgb(255,0,0);
		var_Bar1.HistogramBorderSize = 2;
(exg2antt1.Columns.Add("Tasks") as exontrol.EXG2ANTTLib.Column).FormatColumn = "`Task ` + (1 index ``)";
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem(null);
	var_Items.AddBar(h,"P",Convert.ToDateTime("10/7/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/14/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"P",null);
	var_Items.set_ItemBar(h,"P",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarPercent,0.5);
	var_Items.AddBar(h,"C",Convert.ToDateTime("10/7/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/14/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"C",null);
	var_Items.set_ItemBar(h,"C",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarTransparent,100);
	var_Items.GroupBars(h,"P",true,h,"C",true,null,null);
	var_Items.GroupBars(h,"P",false,h,"C",false,null,null);
	h = var_Items.AddItem(null);
	var_Items.AddBar(h,"P",Convert.ToDateTime("10/10/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/17/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"P",null);
	var_Items.set_ItemBar(h,"P",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarPercent,0.75);
	var_Items.AddBar(h,"C",Convert.ToDateTime("10/10/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/17/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"C",null);
	var_Items.set_ItemBar(h,"C",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarTransparent,100);
	var_Items.GroupBars(h,"P",true,h,"C",true,null,null);
	var_Items.GroupBars(h,"P",false,h,"C",false,null,null);
	h = var_Items.AddItem(null);
	var_Items.AddBar(h,"P",Convert.ToDateTime("10/13/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/20/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"P",null);
	var_Items.set_ItemBar(h,"P",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarPercent,0.25);
	var_Items.AddBar(h,"C",Convert.ToDateTime("10/13/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/20/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"C",null);
	var_Items.set_ItemBar(h,"C",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarTransparent,100);
	var_Items.GroupBars(h,"P",true,h,"C",true,null,null);
	var_Items.GroupBars(h,"P",false,h,"C",false,null,null);
exg2antt1.EndUpdate();

2156
Is it possible to show the filterbar on top of the rows

exg2antt1.BeginUpdate();
exg2antt1.FilterBarPromptVisible = exontrol.EXG2ANTTLib.FilterBarVisibleEnum.exFilterBarTop;
exg2antt1.HeaderHeight = 24;
exg2antt1.FilterBarHeight = exg2antt1.HeaderHeight;
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Flat;
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exAllLines;
exg2antt1.GridLineStyle = exontrol.EXG2ANTTLib.GridLinesStyleEnum.exGridLinesGeometric;
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Column") as exontrol.EXG2ANTTLib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.FilterType = exontrol.EXG2ANTTLib.FilterTypeEnum.exPattern;
	var_Column.Filter = "B*";
exontrol.EXG2ANTTLib.Column var_Column1 = (exg2antt1.Columns.Add("Index") as exontrol.EXG2ANTTLib.Column);
	var_Column1.FormatColumn = "1 index ``";
	var_Column1.Position = 0;
	var_Column1.Width = 48;
	var_Column1.AllowSizing = false;
	var_Column1.SortType = exontrol.EXG2ANTTLib.SortTypeEnum.SortNumeric;
	var_Column1.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellHasCheckBox,true);
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("A.1");
	var_Items.AddItem("A.2");
	var_Items.AddItem("B.1");
	var_Items.AddItem("B.2");
	var_Items.AddItem("B.3");
	var_Items.AddItem("C");
exg2antt1.ApplyFilter();
exg2antt1.EndUpdate();

2155
The deadline symbol is now a white arrow and it is difficult to see. I want to create a green or black arrow for showing deadline

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Task");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.set_PaneWidth(false,96);
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars["Deadline"];
		var_Bar.StartColor = Color.FromArgb(0,128,0);
		var_Bar.StartShape = exontrol.EXG2ANTTLib.ShapeCornerEnum.exShapeIconDown3;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddBar(var_Items.AddItem("Task"),"Deadline",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
exg2antt1.EndUpdate();

2154
DragDrop (with visual effect)

// OLEDragDrop event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events.
// OLEStartDrag event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events.
exg2antt1.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABPUIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIaRjEEQDCKYcxHCaIBiGcaIfDEBIeSBHcgRbAcOQHGSZZBhGRJG" +
"juKIbSrLICzBDUcRnGwAKQoaaaEomHwyAZOYwDAIoWhpKKCKjqWJKNb+XgAAJTES0RRVRTNAZ1YghGAQgIA==");
exg2antt1.set_Background32(exontrol.EXG2ANTTLib.BackgroundPartEnum.exListOLEDropPosition,0x1000000);
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exChartOLEDropPosition,Color.FromArgb(1,0,0));
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exDragDropBefore,Color.FromArgb(0,0,0));
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exDragDropAfter,Color.FromArgb(255,255,255));
exg2antt1.OLEDropMode = exontrol.EXG2ANTTLib.exOLEDropModeEnum.exOLEDropManual;
exg2antt1.AutoDrag = exontrol.EXG2ANTTLib.AutoDragEnum.exAutoDragPositionAnyOnRight;
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
exg2antt1.Indent = 16;
exg2antt1.SelBackMode = exontrol.EXG2ANTTLib.BackModeEnum.exTransparent;
exg2antt1.Columns.Add("Default");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
System.Diagnostics.Debug.Print( "You can:" );
System.Diagnostics.Debug.Print( "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" );
System.Diagnostics.Debug.Print( "B) right-click to re-arrange the item position inside the same control" );
System.Diagnostics.Debug.Print( "This sample shows how you can insert the data being dropped as a child of the item being hovered." );

2153
DragDrop (with no visual effect, hide item while drag and drop)

// OLEDragDrop event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events.
// OLEStartDrag event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events.
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exDragDropBefore,Color.FromArgb(0,0,0));
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exDragDropAfter,Color.FromArgb(255,255,255));
exg2antt1.OLEDropMode = exontrol.EXG2ANTTLib.exOLEDropModeEnum.exOLEDropManual;
exg2antt1.AutoDrag = exontrol.EXG2ANTTLib.AutoDragEnum.exAutoDragPositionAnyOnRight;
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
exg2antt1.Indent = 16;
exg2antt1.SelBackMode = exontrol.EXG2ANTTLib.BackModeEnum.exTransparent;
exg2antt1.Columns.Add("Default");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
System.Diagnostics.Debug.Print( "You can:" );
System.Diagnostics.Debug.Print( "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" );
System.Diagnostics.Debug.Print( "B) right-click to re-arrange the item position inside the same control" );
System.Diagnostics.Debug.Print( "This sample shows how you can insert the data being dropped as a child of the item being hovered." );

2152
DragDrop

// OLEDragDrop event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events.
// OLEStartDrag event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events.
exg2antt1.OLEDropMode = exontrol.EXG2ANTTLib.exOLEDropModeEnum.exOLEDropManual;
exg2antt1.AutoDrag = exontrol.EXG2ANTTLib.AutoDragEnum.exAutoDragPositionAnyOnRight;
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
exg2antt1.Indent = 16;
exg2antt1.SelBackMode = exontrol.EXG2ANTTLib.BackModeEnum.exTransparent;
exg2antt1.Columns.Add("Default");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
System.Diagnostics.Debug.Print( "You can:" );
System.Diagnostics.Debug.Print( "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" );
System.Diagnostics.Debug.Print( "B) right-click to re-arrange the item position inside the same control" );
System.Diagnostics.Debug.Print( "This sample shows how you can insert the data being dropped as a child of the item being hovered." );

2151
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header (non-clickable)

exg2antt1.BeginUpdate();
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	var_Columns.Add("Item");
	exontrol.EXG2ANTTLib.Column var_Column = (var_Columns.Add("Pos") as exontrol.EXG2ANTTLib.Column);
		var_Column.Position = 0;
		var_Column.Width = 32;
		var_Column.AllowSizing = false;
		var_Column.FormatColumn = "1 index ``";
		var_Column.AllowSort = false;
		var_Column.AllowDragging = false;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("Item A");
	var_Items.AddItem("Item B");
	var_Items.AddItem("Item C");
exg2antt1.EndUpdate();

2150
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header

exg2antt1.BeginUpdate();
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exg2antt1.set_Background32(exontrol.EXG2ANTTLib.BackgroundPartEnum.exCursorHoverColumn,-1);
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	var_Columns.Add("Item");
	exontrol.EXG2ANTTLib.Column var_Column = (var_Columns.Add("Pos") as exontrol.EXG2ANTTLib.Column);
		var_Column.Position = 0;
		var_Column.Width = 32;
		var_Column.AllowSizing = false;
		var_Column.FormatColumn = "1 index ``";
		var_Column.AllowSort = false;
		var_Column.AllowDragging = false;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("Item A");
	var_Items.AddItem("Item B");
	var_Items.AddItem("Item C");
exg2antt1.EndUpdate();

2149
How can I detect the last visible item
// SelectionChanged event - Fired after a new item has been selected.
private void exg2antt1_SelectionChanged(object sender)
{
	exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
		System.Diagnostics.Debug.Print( var_Items.get_NextVisibleItem(var_Items.FocusItem).ToString() );
}
//this.exg2antt1.SelectionChanged += new exontrol.EXG2ANTTLib.exg2antt.SelectionChangedEventHandler(this.exg2antt1_SelectionChanged);

exg2antt1.BeginUpdate();
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
exg2antt1.AutoDrag = exontrol.EXG2ANTTLib.AutoDragEnum.exAutoDragPositionAny;
exg2antt1.Columns.Add("Column");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.InsertItem(var_Items.AddItem("Item 1"),null,"Child 1");
	var_Items.AddItem("Item 2");
	var_Items.AddItem("Item 3");
	var_Items.InsertItem(var_Items.AddItem("Item 4"),null,"Child 4");
	var_Items.AddItem("Item 5");
exg2antt1.EndUpdate();

2148
Is it possible to show the non-working part on the back (behind the item's background)

// CellStateChanged event - Fired after cell's state has been changed.
private void exg2antt1_CellStateChanged(object sender,int   Item,int   ColIndex)
{
	exg2antt1.Refresh();
}
//this.exg2antt1.CellStateChanged += new exontrol.EXG2ANTTLib.exg2antt.CellStateChangedEventHandler(this.exg2antt1_CellStateChanged);

exg2antt1.BeginUpdate();
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exGroupLinesOutside;
exg2antt1.SelBackMode = exontrol.EXG2ANTTLib.BackModeEnum.exTransparent;
exg2antt1.DefaultItemHeight = 22;
exg2antt1.GridLineStyle = exontrol.EXG2ANTTLib.GridLinesStyleEnum.exGridLinesSolid;
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exAllLines;
exg2antt1.HeaderVisible = exontrol.EXG2ANTTLib.HeaderVisibleEnum.exHeaderVisibleExtendLevels;
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Tasks") as exontrol.EXG2ANTTLib.Column);
	var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellHasCheckBox,true);
	var_Column.PartialCheck = true;
exontrol.EXG2ANTTLib.Appearance var_Appearance = exg2antt1.VisualAppearance;
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABUkIQAAYAQGKIcBiAKBQAGYBIJDEMQ3DjAUBjMK4ZwTC4AIQjCK4JDKHYJRpHEZgLBMJAAGIZYhhUYRUiYMkiJBGGDIDiGGI2SJAcbTVIEc" +
"x9EyUJSgSTJOjCMokTTIU4TTLYASbJafJJhWSaAiyMouDIOMg1BDNIw/Hika6jOgKUisNJXRzWIBTbDlOQ3JqnbCjOQRSrQBoNDAMAiiaKlbwJPK9RoieQXfwUAJrXJc" +
"FqXFSLVxNBKAQEBA=");
	var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAEhABTcIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIaRiBMIxAKIZhzEiJYgGIZxYh8MQER5IEbyBDsBw5AaZZojGRJG" +
"igNIqSxLUhTRKUdQrG4AKQnGhpDgmJYnU5EcrSUKQcw/JaiKYpGZYXpqO5OTzUIyVHDdKgFGKNKwjKiKKp6FofDJcADUcKAYBKFoaLjgS5bXhSGpnV5bFoWdLTVwhBKA" +
"QEBA=");
	var_Appearance.Add(1,"CP:2 1 1 -1 -1");
	var_Appearance.Add(3,"CP:4 1 1 -1 -1");
exontrol.EXG2ANTTLib.ConditionalFormat var_ConditionalFormat = exg2antt1.ConditionalFormats.Add("%CS0 = 1",null);
	var_ConditionalFormat.BackColor32 = 0x3000000;
	var_ConditionalFormat.ChartBackColor = var_ConditionalFormat.BackColor;
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("8/1/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,128);
	var_Chart.Bars["Task"].Pattern = exontrol.EXG2ANTTLib.PatternEnum.exPatternSolid;
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars["Summary"];
		var_Bar.StartShape = exontrol.EXG2ANTTLib.ShapeCornerEnum.exShapeIconEmpty;
		var_Bar.EndShape = exontrol.EXG2ANTTLib.ShapeCornerEnum.exShapeIconEmpty;
		var_Bar.Shape = exontrol.EXG2ANTTLib.ShapeBarEnum.exShapeSolidDown;
	var_Chart.SelBackColor = exg2antt1.SelBackColor;
	var_Chart.SelBarColor = Color.FromArgb(128,128,128);
	var_Chart.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exAllLines;
	var_Chart.NonworkingDaysPattern = exontrol.EXG2ANTTLib.PatternEnum.exPatternSolid;
	var_Chart.GridLineStyle = exontrol.EXG2ANTTLib.GridLinesStyleEnum.exGridLinesBehind | exontrol.EXG2ANTTLib.GridLinesStyleEnum.exGridLinesSolid;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Project");
	int hChild = var_Items.InsertItem(h,null,"Task 1");
	var_Items.AddBar(hChild,"Task",Convert.ToDateTime("8/2/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("8/8/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.set_SelectItem(hChild,true);
	hChild = var_Items.InsertItem(h,null,"Task 2");
	var_Items.AddBar(hChild,"Task",Convert.ToDateTime("8/3/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("8/10/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	hChild = var_Items.InsertItem(h,null,"Task 3");
	var_Items.AddBar(hChild,"Task",Convert.ToDateTime("8/4/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("8/12/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.set_CellState(hChild,0,1);
	hChild = var_Items.InsertItem(h,null,"Task 4");
	var_Items.AddBar(hChild,"Task",Convert.ToDateTime("8/5/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("8/14/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	hChild = var_Items.InsertItem(h,null,"Task 5");
	var_Items.AddBar(hChild,"Task",Convert.ToDateTime("8/6/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("8/16/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(h,"Summary",Convert.ToDateTime("8/1/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("8/1/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"sum",null);
	var_Items.DefineSummaryBars(h,"sum",-3,"");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("ItemBackColor");
	var_Items.AddBar(h,"Progress",Convert.ToDateTime("8/4/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("8/14/2017",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.set_ItemBackColor32(h,0x18080ff);
	exg2antt1.Chart.set_ItemBackColor32(h,0x18080ff);
exg2antt1.EndUpdate();

2147
How can I hide a bar within the control's overview (sample 1)

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Default");
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exSplitBar,Color.FromArgb(190,190,190));
exg2antt1.BackColorLevelHeader = exg2antt1.BackColor;
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,64);
	var_Chart.OverviewHeight = 48;
	var_Chart.OverviewVisible = exontrol.EXG2ANTTLib.OverviewVisibleEnum.exOverviewSplitter | exontrol.EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowMargins | exontrol.EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowAllVisible;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.Bars.Copy("Task","TaskO").Color = Color.FromArgb(255,0,0);
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("");
	int h = var_Items.AddItem("");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K1",null);
	var_Items.AddBar(h,"Task",Convert.ToDateTime("12/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K2",null);
	h = var_Items.AddItem("");
	var_Items.AddBar(h,"TaskO",Convert.ToDateTime("1/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K1",null);
	var_Items.set_ItemBar(h,"K1",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarOverviewColor,-1);
	var_Items.AddBar(h,"TaskO",Convert.ToDateTime("12/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K2",null);
	var_Items.set_ItemBar(h,"K2",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarOverviewColor,-1);
	h = var_Items.AddItem("");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K1",null);
	var_Items.AddBar(h,"Task",Convert.ToDateTime("12/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K2",null);
exg2antt1.EndUpdate();

2146
How can I hide all bars within the control's overview (sample 2)

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Default");
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exSplitBar,Color.FromArgb(190,190,190));
exg2antt1.BackColorLevelHeader = exg2antt1.BackColor;
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,64);
	var_Chart.OverviewHeight = 48;
	var_Chart.OverviewVisible = exontrol.EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowMargins | exontrol.EXG2ANTTLib.OverviewVisibleEnum.exOverviewHideBars | exontrol.EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowOnlyVisible;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars.Copy("Task","TaskO");
		var_Bar.OverviewColor32 = -1;
		var_Bar.Color = Color.FromArgb(255,0,0);
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("");
	int h = var_Items.AddItem("");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K1",null);
	var_Items.AddBar(h,"Task",Convert.ToDateTime("12/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K2",null);
	h = var_Items.AddItem("");
	var_Items.AddBar(h,"TaskO",Convert.ToDateTime("1/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K1",null);
	var_Items.AddBar(h,"TaskO",Convert.ToDateTime("12/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K2",null);
	h = var_Items.AddItem("");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K1",null);
	var_Items.AddBar(h,"Task",Convert.ToDateTime("12/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K2",null);
exg2antt1.EndUpdate();

2145
How can I hide all bars or specified type within the control's overview (sample 3)

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Default");
exg2antt1.set_Background(exontrol.EXG2ANTTLib.BackgroundPartEnum.exSplitBar,Color.FromArgb(190,190,190));
exg2antt1.BackColorLevelHeader = exg2antt1.BackColor;
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,64);
	var_Chart.OverviewHeight = 48;
	var_Chart.OverviewVisible = exontrol.EXG2ANTTLib.OverviewVisibleEnum.exOverviewSplitter | exontrol.EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowMargins | exontrol.EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowAllVisible;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars.Copy("Task","TaskO");
		var_Bar.OverviewColor32 = -1;
		var_Bar.Color = Color.FromArgb(255,0,0);
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("");
	int h = var_Items.AddItem("");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K1",null);
	var_Items.AddBar(h,"Task",Convert.ToDateTime("12/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K2",null);
	h = var_Items.AddItem("");
	var_Items.AddBar(h,"TaskO",Convert.ToDateTime("1/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K1",null);
	var_Items.AddBar(h,"TaskO",Convert.ToDateTime("12/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K2",null);
	h = var_Items.AddItem("");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K1",null);
	var_Items.AddBar(h,"Task",Convert.ToDateTime("12/2/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K2",null);
exg2antt1.EndUpdate();

2144
Is it possible to exclude the parent/child items when do the filtering, so to include only items that match the filter without any indentation

// AddItem event - Occurs after a new Item has been inserted to Items collection.
private void exg2antt1_AddItem(object sender,int   Item)
{
	exg2antt1.Items.AddBar(Item,"Task",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/9/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
}
//this.exg2antt1.AddItem += new exontrol.EXG2ANTTLib.exg2antt.AddItemEventHandler(this.exg2antt1_AddItem);

// FilterChange event - Occurs when the filter was changed.
private void exg2antt1_FilterChange(object sender)
{
	exg2antt1.Indent = exg2antt1.FormatABC("value > 0 ? 18 : 0",.Items.MatchItemCount,null,null);
}
//this.exg2antt1.FilterChange += new exontrol.EXG2ANTTLib.exg2antt.FilterChangeEventHandler(this.exg2antt1_FilterChange);

exg2antt1.BeginUpdate();
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
exg2antt1.Indent = 18;
exg2antt1.FilterInclude = exontrol.EXG2ANTTLib.FilterIncludeEnum.exMatchingItemsOnly;
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exVLines;
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Flat;
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.LevelCount = 2;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.set_PaneWidth(false,164);
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	exontrol.EXG2ANTTLib.Column var_Column = (var_Columns.Add("Column") as exontrol.EXG2ANTTLib.Column);
		var_Column.DisplayFilterButton = true;
		var_Column.FilterType = exontrol.EXG2ANTTLib.FilterTypeEnum.exFilter;
		var_Column.FilterList = exontrol.EXG2ANTTLib.FilterListEnum.exShowCheckBox;
		var_Column.Filter = "C1";
	exontrol.EXG2ANTTLib.Column var_Column1 = (var_Columns.Add("Pos") as exontrol.EXG2ANTTLib.Column);
		var_Column1.FormatColumn = "1 rindex ``";
		var_Column1.Position = 0;
		var_Column1.AllowSizing = false;
		var_Column1.AllowDragging = false;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("R1");
	int h2 = var_Items.InsertItem(h,null,"S");
	var_Items.InsertItem(h2,null,"C1");
	var_Items.InsertItem(h2,null,"C2");
	var_Items.InsertItem(h,null,"C1");
	var_Items.InsertItem(h,null,"C2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("R2");
	var_Items.InsertItem(h,null,"C1");
	var_Items.InsertItem(h,null,"C2");
exg2antt1.ApplyFilter();
exg2antt1.EndUpdate();

2143
I am using the Chart.AllowResizeChart property. How can I customize the labels into the chart's levels
exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Task");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.AllowResizeChart = exontrol.EXG2ANTTLib.ResizeChartEnum.exAllowChangeUnitScale | exontrol.EXG2ANTTLib.ResizeChartEnum.exAllowResizeChartMiddle | exontrol.EXG2ANTTLib.ResizeChartEnum.exAllowResizeChartHeader;
	var_Chart.set_Label(exontrol.EXG2ANTTLib.UnitEnum.exYear,"year");
	var_Chart.set_Label(exontrol.EXG2ANTTLib.UnitEnum.exHalfYear,"");
	var_Chart.set_Label(exontrol.EXG2ANTTLib.UnitEnum.exQuarterYear,"");
	var_Chart.set_Label(exontrol.EXG2ANTTLib.UnitEnum.exMonth,"month");
	var_Chart.set_Label(exontrol.EXG2ANTTLib.UnitEnum.exThirdMonth,"");
	var_Chart.set_Label(exontrol.EXG2ANTTLib.UnitEnum.exWeek,"week");
	var_Chart.set_Label(exontrol.EXG2ANTTLib.UnitEnum.exDay,"day");
	var_Chart.set_Label(exontrol.EXG2ANTTLib.UnitEnum.exHour,"hour");
	var_Chart.set_Label(exontrol.EXG2ANTTLib.UnitEnum.exMinute,"");
	var_Chart.set_Label(exontrol.EXG2ANTTLib.UnitEnum.exSecond,"");
	var_Chart.ShowNonworkingDates = false;
	var_Chart.LevelCount = 2;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.set_PaneWidth(false,48);
	var_Chart.UnitWidth = 32;
	var_Chart.UnitScale = exontrol.EXG2ANTTLib.UnitEnum.exDay;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddBar(var_Items.AddItem("Task A"),"Task",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/6/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K1",null);
	var_Items.AddBar(var_Items.AddItem("Task B"),"Task",Convert.ToDateTime("1/6/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/10/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K1",null);
	var_Items.AddBar(var_Items.AddItem("Task C"),"Task",Convert.ToDateTime("1/10/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/14/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"K1",null);
	var_Items.AddBar(var_Items.AddItem(""),"",Convert.ToDateTime("1/8/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/8/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"Info","Click the <b>middle</b> mouse button and start dragging");
exg2antt1.EndUpdate();

2142
Is it possible to display the header using multiple lines, while chart display multiple levels (sample 2)

// AddColumn event - Fired after a new column has been added.
private void exg2antt1_AddColumn(object sender,exontrol.EXG2ANTTLib.Column   Column)
{
	// Column.Def(52) = 4
	// Column.Def(53) = 4
}
//this.exg2antt1.AddColumn += new exontrol.EXG2ANTTLib.exg2antt.AddColumnEventHandler(this.exg2antt1_AddColumn);

exg2antt1.BeginUpdate();
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(true,256);
exg2antt1.HeaderVisible = exontrol.EXG2ANTTLib.HeaderVisibleEnum.exHeaderVisibleExtendLevels;
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Flat;
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	var_Columns.Add("Column");
	(var_Columns.Add("C1") as exontrol.EXG2ANTTLib.Column).HTMLCaption = "<b>C<off 4>1</b><br>left";
	(var_Columns.Add("C2") as exontrol.EXG2ANTTLib.Column).HTMLCaption = "<c><b>C<off 4>2</b><br><c>center";
	(var_Columns.Add("C3") as exontrol.EXG2ANTTLib.Column).HTMLCaption = "<r><b>C<off 4>3</b><br><r>right";
exg2antt1.EndUpdate();

2141
Is there any way to control the z-order of a TimeZone

exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.set_PaneWidth(false,0);
	var_Chart.UnitWidth = 15;
	var_Chart.LevelCount = 2;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("12/28/2009",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.MarkTimeZone("Top",Convert.ToDateTime("1/1/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/5/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),16711680,"1;;<fgcolor=FFFFFF>Top;1");
	var_Chart.MarkTimeZone("Partial",Convert.ToDateTime("1/8/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),16711680,"50;;<fgcolor=FFFFFF>Partial;1");
	var_Chart.MarkTimeZone("Default",Convert.ToDateTime("1/15/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/19/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),16711680,";;<fgcolor=FFFFFF>Default;1");

2140
Is it possible to display the header using multiple lines, while chart display multiple levels (sample 1)

exg2antt1.BeginUpdate();
exg2antt1.Chart.LevelCount = 2;
exg2antt1.HeaderHeight = 18;
exg2antt1.HeaderSingleLine = false;
exg2antt1.HeaderVisible = exontrol.EXG2ANTTLib.HeaderVisibleEnum.exHeaderVisibleExtendLevels;
(exg2antt1.Columns.Add("This is just a column that should break the header.") as exontrol.EXG2ANTTLib.Column).Width = 32;
exg2antt1.Columns.Add("This is just another column that should break the header.");
exg2antt1.EndUpdate();

2139
Difference between HistogramValueFromPoint and HistogramValue (sample 2)

// MouseMove event - Occurs when the user moves the mouse.
private void exg2antt1_MouseMoveEvent(object sender,short   Button,short   Shift,int   X,int   Y)
{
	exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
		Double v1 = var_Chart.get_HistogramValueFromPoint(-1,-1);
		Double v2 = var_Chart.get_HistogramValue(var_Chart.get_DateFromPoint(-1,-1),null,null);
		Double vMin = var_Chart.get_HistogramValue("min",null,null);
		Double vMax = var_Chart.get_HistogramValue("max",null,null);
	object format = exg2antt1.FormatABC("`<b>ValueFromPoint</b>: ` + A + `<br>ValueFromDate: ` + B",v1,v2,null);
	format = exg2antt1.FormatABC("A  + `<br>Min: ` + B + `<br>Max: ` + C",format,vMin,vMax);
	exg2antt1.ShowToolTip(format.ToString(),null,null,"16","16");
}
//this.exg2antt1.MouseMoveEvent += new exontrol.EXG2ANTTLib.exg2antt.MouseMoveEventHandler(this.exg2antt1_MouseMoveEvent);

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Tasks");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstWeekDay = exontrol.EXG2ANTTLib.WeekDayEnum.exMonday;
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,40);
	var_Chart.FirstVisibleDate = Convert.ToDateTime("6/9/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.HistogramVisible = true;
	var_Chart.HistogramView = exontrol.EXG2ANTTLib.HistogramViewEnum.exHistogramGroupCumulative | exontrol.EXG2ANTTLib.HistogramViewEnum.exHistogramAllItems;
	var_Chart.HistogramHeight = 128;
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars["Task"];
		var_Bar.HistogramPattern = var_Bar.Pattern;
		var_Bar.HistogramType = exontrol.EXG2ANTTLib.HistogramTypeEnum.exHistCumulative;
		var_Bar.HistogramItems = -6;
		var_Bar.HistogramRulerLinesColor = Color.FromArgb(0,0,1);
		var_Bar.HistogramBorderSize = 1;
		var_Bar.HistogramBorderColor = Color.FromArgb(0,0,1);
		var_Bar.HistogramCumulativeOriginalColorBars = exontrol.EXG2ANTTLib.HistogramCumulativeOriginalColorBarsEnum.exChangeColor;
		var_Bar.HistogramCumulativeShowLegend = -1;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddBar(var_Items.AddItem("Task"),"Task",Convert.ToDateTime("6/10/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("6/14/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.AddBar(var_Items.AddItem("Task"),"Task",Convert.ToDateTime("6/11/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("6/15/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.AddBar(var_Items.AddItem("Task"),"Task",Convert.ToDateTime("6/12/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("6/16/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
exg2antt1.EndUpdate();

2138
Difference between HistogramValueFromPoint and HistogramValue (sample 1)

// MouseMove event - Occurs when the user moves the mouse.
private void exg2antt1_MouseMoveEvent(object sender,short   Button,short   Shift,int   X,int   Y)
{
	exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
		Double v1 = var_Chart.get_HistogramValueFromPoint(-1,-1);
		Double v2 = var_Chart.get_HistogramValue(var_Chart.get_DateFromPoint(-1,-1),null,null);
		Double vMin = var_Chart.get_HistogramValue("min",null,null);
		Double vMax = var_Chart.get_HistogramValue("max",null,null);
	object format = exg2antt1.FormatABC("`<b>ValueFromPoint</b>: ` + A + `<br>ValueFromDate: ` + B",v1,v2,null);
	format = exg2antt1.FormatABC("A  + `<br>Min: ` + B + `<br>Max: ` + C",format,vMin,vMax);
	exg2antt1.ShowToolTip(format.ToString(),null,null,"16","16");
}
//this.exg2antt1.MouseMoveEvent += new exontrol.EXG2ANTTLib.exg2antt.MouseMoveEventHandler(this.exg2antt1_MouseMoveEvent);

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Tasks");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstWeekDay = exontrol.EXG2ANTTLib.WeekDayEnum.exMonday;
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,40);
	var_Chart.FirstVisibleDate = Convert.ToDateTime("6/9/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.HistogramVisible = true;
	var_Chart.HistogramView = exontrol.EXG2ANTTLib.HistogramViewEnum.exHistogramAllItems;
	var_Chart.HistogramHeight = 128;
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars["Task"];
		var_Bar.HistogramPattern = var_Bar.Pattern;
		var_Bar.HistogramType = exontrol.EXG2ANTTLib.HistogramTypeEnum.exHistOverload;
		var_Bar.HistogramItems = -6;
		var_Bar.HistogramRulerLinesColor = Color.FromArgb(0,0,1);
		var_Bar.HistogramBorderSize = 1;
		var_Bar.HistogramBorderColor = Color.FromArgb(0,0,1);
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddBar(var_Items.AddItem("Task"),"Task",Convert.ToDateTime("6/10/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("6/14/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.AddBar(var_Items.AddItem("Task"),"Task",Convert.ToDateTime("6/11/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("6/15/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.AddBar(var_Items.AddItem("Task"),"Task",Convert.ToDateTime("6/12/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("6/16/2005",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
exg2antt1.EndUpdate();

2137
I am using the Inside-Zoom feature, but the inside grid lines are more dashed the dotted

exg2antt1.BeginUpdate();
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.UnitScale = exontrol.EXG2ANTTLib.UnitEnum.exDay;
	var_Chart.set_PaneWidth(false,0);
	var_Chart.LevelCount = 2;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2008",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	exontrol.EXG2ANTTLib.InsideZoomFormat var_InsideZoomFormat = var_Chart.DefaultInsideZoomFormat;
		var_InsideZoomFormat.InsideLabel = "<%hh%>";
		var_InsideZoomFormat.InsideUnit = exontrol.EXG2ANTTLib.UnitEnum.exHour;
		var_InsideZoomFormat.InsideCount = 8;
		var_InsideZoomFormat.GridLineStyle = exontrol.EXG2ANTTLib.GridLinesStyleEnum.exGridLinesGeometric;
	var_Chart.AllowInsideZoom = true;
	exontrol.EXG2ANTTLib.InsideZooms var_InsideZooms = var_Chart.InsideZooms;
		var_InsideZooms.Add(Convert.ToDateTime("1/4/2008",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Chart.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exVLines;
	var_Chart.ShowNonworkingDates = false;
exg2antt1.EndUpdate();

2136
I am using expressions for exBarEffort, but the histogram does not show correctly the data

exg2antt1.BeginUpdate();
exg2antt1.HeaderVisible = exontrol.EXG2ANTTLib.HeaderVisibleEnum.exHeaderVisibleExtendLevels;
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("10/5/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.set_PaneWidth(false,128);
	var_Chart.LevelCount = 2;
	var_Chart.HistogramHeight = 96;
	var_Chart.HistogramVisible = true;
	var_Chart.AllowInsideZoom = true;
	var_Chart.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exAllLines;
	exontrol.EXG2ANTTLib.InsideZoom var_InsideZoom = var_Chart.InsideZooms.Add(Convert.ToDateTime("10/7/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
		var_InsideZoom.Width = 196;
	var_Chart.DefaultInsideZoomFormat.GridLineStyle = exontrol.EXG2ANTTLib.GridLinesStyleEnum.exGridLinesSolid;
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars["Task"];
		var_Bar.HistogramPattern = var_Bar.Pattern;
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption,"<%=%0%>");
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption,18);
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarEffort,"(hour(value) > 5 and hour(value) < 18) ? 2 : 0");
	var_Chart.HistogramUnitScale = exontrol.EXG2ANTTLib.UnitEnum.exHour;
(exg2antt1.Columns.Add("Tasks") as exontrol.EXG2ANTTLib.Column).FormatColumn = "`Task ` + (1 index ``)";
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddBar(var_Items.AddItem(""),"Task",Convert.ToDateTime("10/7/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.AddItem(""),"Task",Convert.ToDateTime("10/8/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/13/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
exg2antt1.EndUpdate();

2135
How can I specify the z-order of bars to be shown within the chart's histogram

exg2antt1.BeginUpdate();
exg2antt1.HeaderVisible = exontrol.EXG2ANTTLib.HeaderVisibleEnum.exHeaderVisibleExtendLevels;
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("10/5/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.set_PaneWidth(false,128);
	var_Chart.LevelCount = 2;
	var_Chart.HistogramHeight = 96;
	var_Chart.HistogramVisible = true;
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars.Add("A");
		var_Bar.Color = Color.FromArgb(0,0,255);
		var_Bar.HistogramPattern = exontrol.EXG2ANTTLib.PatternEnum.exPatternSolid;
		var_Bar.HistogramItems = -6;
		var_Bar.HistogramCumulativeOriginalColorBars = exontrol.EXG2ANTTLib.HistogramCumulativeOriginalColorBarsEnum.exKeepOriginalColor;
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption,"<%=%0%>");
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption,18);
	exontrol.EXG2ANTTLib.Bar var_Bar1 = var_Chart.Bars.Copy("A","B");
		var_Bar1.Color = Color.FromArgb(0,255,0);
		var_Bar1.HistogramCumulativeOriginalColorBars = exontrol.EXG2ANTTLib.HistogramCumulativeOriginalColorBarsEnum.exKeepOriginalColor;
		var_Bar1.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption,"<%=%0%>");
		var_Bar1.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption,18);
	var_Chart.HistogramView = exontrol.EXG2ANTTLib.HistogramViewEnum.exHistogramGroupCumulative | exontrol.EXG2ANTTLib.HistogramViewEnum.exHistogramAllItems;
	var_Chart.HistogramZOrder = "A,B";
(exg2antt1.Columns.Add("Tasks") as exontrol.EXG2ANTTLib.Column).FormatColumn = "`Task ` + (1 index ``)";
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddBar(var_Items.AddItem(""),"A",Convert.ToDateTime("10/7/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.AddItem(""),"A",Convert.ToDateTime("10/8/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/13/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.AddItem(""),"B",Convert.ToDateTime("10/9/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/14/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.AddItem(""),"B",Convert.ToDateTime("10/10/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/15/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
exg2antt1.EndUpdate();

2134
How can I show cumulative histogram for two or more different types of bars

exg2antt1.BeginUpdate();
exg2antt1.HeaderVisible = exontrol.EXG2ANTTLib.HeaderVisibleEnum.exHeaderVisibleExtendLevels;
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("10/5/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.set_PaneWidth(false,128);
	var_Chart.LevelCount = 2;
	var_Chart.HistogramHeight = 96;
	var_Chart.HistogramVisible = true;
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars.Add("A");
		var_Bar.Color = Color.FromArgb(0,0,255);
		var_Bar.HistogramPattern = exontrol.EXG2ANTTLib.PatternEnum.exPatternSolid;
		var_Bar.HistogramItems = -6;
		var_Bar.HistogramCumulativeOriginalColorBars = exontrol.EXG2ANTTLib.HistogramCumulativeOriginalColorBarsEnum.exKeepOriginalColor;
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption,"<%=%0%>");
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption,18);
	exontrol.EXG2ANTTLib.Bar var_Bar1 = var_Chart.Bars.Copy("A","B");
		var_Bar1.Color = Color.FromArgb(0,255,0);
		var_Bar1.HistogramCumulativeOriginalColorBars = exontrol.EXG2ANTTLib.HistogramCumulativeOriginalColorBarsEnum.exKeepOriginalColor;
		var_Bar1.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption,"<%=%0%>");
		var_Bar1.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption,18);
	var_Chart.HistogramView = exontrol.EXG2ANTTLib.HistogramViewEnum.exHistogramGroupCumulative | exontrol.EXG2ANTTLib.HistogramViewEnum.exHistogramAllItems;
(exg2antt1.Columns.Add("Tasks") as exontrol.EXG2ANTTLib.Column).FormatColumn = "`Task ` + (1 index ``)";
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddBar(var_Items.AddItem(""),"A",Convert.ToDateTime("10/7/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/12/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.AddItem(""),"A",Convert.ToDateTime("10/8/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/13/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.AddItem(""),"B",Convert.ToDateTime("10/9/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/14/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.AddItem(""),"B",Convert.ToDateTime("10/10/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("10/15/2020",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
exg2antt1.EndUpdate();

2133
I would like to display a solid line between "root" items, and dotted lines (default) between child items. How can I do that

exg2antt1.BeginUpdate();
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exHLines;
exg2antt1.GridLineStyle = exontrol.EXG2ANTTLib.GridLinesStyleEnum.exGridLinesGeometric;
exg2antt1.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABMsIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIXRpFMbxAKQahLEiTIgGUYJHgmK4tQLHb7zGAABRDDSOIDnGQJX" +
"haI4JQSMMQDGLAZxVFiPRhAWLpBh+PQATrOdLUfSjVwhBKAQEBA==");
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Default") as exontrol.EXG2ANTTLib.Column);
	var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellHasCheckBox,true);
	var_Column.PartialCheck = true;
exontrol.EXG2ANTTLib.Column var_Column1 = (exg2antt1.Columns.Add("Position") as exontrol.EXG2ANTTLib.Column);
	var_Column1.FormatColumn = "((1 rindex ``) contains `.`) = 0";
	var_Column1.Visible = false;
exontrol.EXG2ANTTLib.ConditionalFormat var_ConditionalFormat = exg2antt1.ConditionalFormats.Add("%C1",null);
	var_ConditionalFormat.BackColor32 = 0x1e0e0e0;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.InsertItem(h,null,"Child 3");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	h = var_Items.AddItem("Root 3");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
exg2antt1.EndUpdate();

2132
I can not center or align the cell's caption and icon, when it displays the hierarchy

exg2antt1.BeginUpdate();
exg2antt1.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Tasks") as exontrol.EXG2ANTTLib.Column);
	var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellValueFormat,1);
exg2antt1.HeaderVisible = exontrol.EXG2ANTTLib.HeaderVisibleEnum.exHeaderVisibleExtendLevels;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Project");
	int hChild = var_Items.InsertItem(h,null,"<img>1</img> Task (left)");
	hChild = var_Items.InsertItem(h,null,"<c><img>2</img> Task (center)");
	hChild = var_Items.InsertItem(h,null,"<r>Task (right) <img>3</img>");
	var_Items.set_ExpandItem(h,true);
exg2antt1.EndUpdate();

2131
How do I mask for float/integer number

exg2antt1.BeginUpdate();
exg2antt1.ColumnAutoResize = true;
(exg2antt1.Columns.Add("Type") as exontrol.EXG2ANTTLib.Column).Width = 32;
exg2antt1.Columns.Add("Editor");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Integer");
	var_Items.set_CellValue(h,1,"12");
	exontrol.EXG2ANTTLib.Editor var_Editor = var_Items.get_CellEditor(h,1);
		var_Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.EditType;
		var_Editor.Numeric = exontrol.EXG2ANTTLib.NumericEnum.exInteger;
	h = var_Items.AddItem("Integer (mask, group)");
	var_Items.set_CellValue(h,1,"10002");
	var_Items.set_FormatCell(h,1,"value format `0||`");
	exontrol.EXG2ANTTLib.Editor var_Editor1 = var_Items.get_CellEditor(h,1);
		var_Editor1.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.MaskType;
		var_Editor1.Mask = ";;;float,digits=0,invalid=empty,warning=invalid character";
	h = var_Items.AddItem("Integer (mask, no group)");
	var_Items.set_CellValue(h,1,"10002");
	var_Items.set_FormatCell(h,1,"value format `0|0|`");
	exontrol.EXG2ANTTLib.Editor var_Editor2 = var_Items.get_CellEditor(h,1);
		var_Editor2.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.MaskType;
		var_Editor2.Mask = ";;;float,digits=0,grouping=,invalid=empty,warning=invalid character";
	h = var_Items.AddItem("Float");
	var_Items.set_CellValue(h,1,"+12.34E+2");
	exontrol.EXG2ANTTLib.Editor var_Editor3 = var_Items.get_CellEditor(h,1);
		var_Editor3.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.EditType;
		var_Editor3.Numeric = exontrol.EXG2ANTTLib.NumericEnum.exFloat;
	h = var_Items.AddItem("Float (no signs)");
	var_Items.set_CellValue(h,1,"12.34E-2");
	exontrol.EXG2ANTTLib.Editor var_Editor4 = var_Items.get_CellEditor(h,1);
		var_Editor4.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.EditType;
		var_Editor4.Numeric = exontrol.EXG2ANTTLib.NumericEnum.exDisableSigns | exontrol.EXG2ANTTLib.NumericEnum.exFloat;
	h = var_Items.AddItem("Float-Integer");
	var_Items.set_CellValue(h,1,"+12.34");
	exontrol.EXG2ANTTLib.Editor var_Editor5 = var_Items.get_CellEditor(h,1);
		var_Editor5.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.EditType;
		var_Editor5.Numeric = exontrol.EXG2ANTTLib.NumericEnum.exFloatInteger;
	h = var_Items.AddItem("Float-Integer (no signs)");
	var_Items.set_CellValue(h,1,"12.34");
	exontrol.EXG2ANTTLib.Editor var_Editor6 = var_Items.get_CellEditor(h,1);
		var_Editor6.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.EditType;
		var_Editor6.Numeric = exontrol.EXG2ANTTLib.NumericEnum.exDisableSigns | exontrol.EXG2ANTTLib.NumericEnum.exFloatInteger;
	h = var_Items.AddItem("Float (mask,group)");
	var_Items.set_CellValue(h,1,"10002.34");
	var_Items.set_FormatCell(h,1,"value format `2`");
	exontrol.EXG2ANTTLib.Editor var_Editor7 = var_Items.get_CellEditor(h,1);
		var_Editor7.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.MaskType;
		var_Editor7.Mask = ";;;float,invalid=empty,warning=invalid character";
	h = var_Items.AddItem("Float (mask, no group)");
	var_Items.set_CellValue(h,1,"10002.34");
	var_Items.set_FormatCell(h,1,"value format `2|0|`");
	exontrol.EXG2ANTTLib.Editor var_Editor8 = var_Items.get_CellEditor(h,1);
		var_Editor8.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.MaskType;
		var_Editor8.Mask = ";;;float,grouping=,invalid=empty,warning=invalid character";
exg2antt1.EndUpdate();

2130
Is it possible to offset (horizontally) the bar's caption

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("HOffset");
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Flat;
exg2antt1.ScrollBySingleLine = true;
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exRowLines;
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exRowLines;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("12/16/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,128);
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars["Task"];
		var_Bar.Pattern = exontrol.EXG2ANTTLib.PatternEnum.exPatternBox;
		var_Bar.Color = Color.FromArgb(164,164,164);
		var_Bar.StartColor = Color.FromArgb(240,240,240);
		var_Bar.EndColor = var_Bar.StartColor;
		var_Bar.Height = 15;
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption,"label");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("right");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("12/22/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/27/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption,2);
	h = var_Items.AddItem("right - 4");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("12/22/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/27/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption,2);
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaptionHOffset,-4);
	h = var_Items.AddItem("left");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("12/22/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/27/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption,0);
	h = var_Items.AddItem("left + 4");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("12/22/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/27/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption,0);
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaptionHOffset,4);
exg2antt1.EndUpdate();

2129
Is it possible to always center the bar's caption (even if the item-bar is partially visible)

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Align");
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Flat;
exg2antt1.ScrollBySingleLine = true;
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exRowLines;
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exRowLines;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("12/23/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,128);
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars["Task"];
		var_Bar.Pattern = exontrol.EXG2ANTTLib.PatternEnum.exPatternBox;
		var_Bar.Color = Color.FromArgb(164,164,164);
		var_Bar.StartColor = Color.FromArgb(240,240,240);
		var_Bar.EndColor = var_Bar.StartColor;
		var_Bar.Height = 15;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("default");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("12/22/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/27/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"","label");
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption,1);
	h = var_Items.AddItem("default + 32");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("12/22/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("12/27/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"","label");
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption,33);
exg2antt1.EndUpdate();

2128
How do I set an extra data for each item
// MouseMove event - Occurs when the user moves the mouse.
private void exg2antt1_MouseMoveEvent(object sender,short   Button,short   Shift,int   X,int   Y)
{
	int i = exg2antt1.get_ItemFromPoint(-1,-1,c,hit);
	System.Diagnostics.Debug.Print( i.ToString() );
	System.Diagnostics.Debug.Print( exg2antt1.Items.get_ItemData(i).ToString() );
}
//this.exg2antt1.MouseMoveEvent += new exontrol.EXG2ANTTLib.exg2antt.MouseMoveEventHandler(this.exg2antt1_MouseMoveEvent);

exg2antt1.BeginUpdate();
exg2antt1.ColumnAutoResize = true;
exg2antt1.Columns.Add("Default");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.set_ItemData(var_Items.AddItem("method 1"),"your extra data of method 1");
	var_Items.InsertItem(0,"your extra data of method 2","method 2");
exontrol.EXG2ANTTLib.Items var_Items1 = exg2antt1.Items;
	var_Items1.DefaultItem = var_Items1.AddItem("method 3");
	var_Items1.set_ItemData(0,"your extra data of method 3");
exg2antt1.EndUpdate();

2127
Is it possible to show the position of rows the into the chart section

// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
private void exg2antt1_BeforeExpandItem(object sender,int   Item,ref object   Cancel)
{
	exg2antt1.Refresh();
}
//this.exg2antt1.BeforeExpandItem += new exontrol.EXG2ANTTLib.exg2antt.BeforeExpandItemEventHandler(this.exg2antt1_BeforeExpandItem);

exg2antt1.BeginUpdate();
exg2antt1.Indent = 16;
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
exg2antt1.HasLines = exontrol.EXG2ANTTLib.HierarchyLineEnum.exSolidLine;
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exHLines;
exg2antt1.ScrollBySingleLine = true;
exg2antt1.FullRowSelect = exontrol.EXG2ANTTLib.CellSelectEnum.exColumnSel;
exg2antt1.Columns.Add("Tasks");
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Pos") as exontrol.EXG2ANTTLib.Column);
	var_Column.Visible = false;
	var_Column.FormatColumn = "`<r><bgcolor 000000><fgcolor FFFFFF> ` + 1 apos `` + ` </fgcolor></bgcolor>`";
	var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellValueFormat,1);
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.ColumnsFormatLevel = ",|,1:64";
	var_Chart.FirstVisibleDate = Convert.ToDateTime("9/20/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.ShowCollapsedBars = true;
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,128);
	var_Chart.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exHLines;
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars["Task"];
		var_Bar.OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack;
		var_Bar.Color = Color.FromArgb(0,0,0);
		var_Bar.StartColor = Color.FromArgb(196,196,196);
		var_Bar.EndColor = Color.FromArgb(196,196,196);
		var_Bar.Pattern = exontrol.EXG2ANTTLib.PatternEnum.exPatternBox;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Project 1");
	int h1 = var_Items.InsertItem(h,null,"Resources");
	var_Items.AddBar(h1,"Task",Convert.ToDateTime("9/21/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/25/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A",null);
	var_Items.AddBar(h1,"Task",Convert.ToDateTime("9/24/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/28/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"B",null);
	var_Items.AddBar(h1,"Task",Convert.ToDateTime("9/27/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/29/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"C",null);
	h = var_Items.AddItem("Project 2");
	h1 = var_Items.InsertItem(h,null,"Resources");
	var_Items.AddBar(h1,"Task",Convert.ToDateTime("9/21/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/25/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A",null);
	var_Items.AddBar(h1,"Task",Convert.ToDateTime("9/24/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/28/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"B",null);
	var_Items.AddBar(h1,"Task",Convert.ToDateTime("9/27/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/29/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"C",null);
	var_Items.set_ExpandItem(h,true);
exg2antt1.EndUpdate();

2126
I do not like to specify the item padding for every column I add. The question is how can I do it automatically

exg2antt1.BeginUpdate();
exg2antt1.AttachTemplate("handle AddColumn(Column){Column{Def(48)=8;Def(49)=8;AllowDragging=False;AllowSizing = True}}");
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exAllLines;
exg2antt1.GridLineStyle = exontrol.EXG2ANTTLib.GridLinesStyleEnum.exGridLinesVSolid;
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	var_Columns.Add("Item");
	exontrol.EXG2ANTTLib.Column var_Column = (var_Columns.Add("Pos") as exontrol.EXG2ANTTLib.Column);
		var_Column.Position = 0;
		var_Column.Width = 32;
		var_Column.AllowSizing = false;
		var_Column.FormatColumn = "1 index ``";
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("Item A");
	var_Items.AddItem("Item B");
	var_Items.AddItem("Item C");
exg2antt1.EndUpdate();

2125
Stack vs Cascade

exg2antt1.BeginUpdate();
exg2antt1.ScrollBySingleLine = true;
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Flat;
exg2antt1.Columns.Add("Type");
exg2antt1.BackColorAlternate = Color.FromArgb(240,240,240);
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.LevelCount = 2;
	var_Chart.AllowCreateBar = exontrol.EXG2ANTTLib.CreateBarEnum.exCreateBarAuto;
	var_Chart.AllowLinkBars = false;
	var_Chart.ResizeUnitScale = exontrol.EXG2ANTTLib.UnitEnum.exHour;
	var_Chart.set_PaneWidth(false,128);
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.Bars.Copy("Task","Stack").OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack;
	var_Chart.Bars.Copy("Task","AStack").OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange | exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack;
	var_Chart.Bars.Copy("Task","Cascade").OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsCascade;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Stack");
	var_Items.AddBar(h,"Stack",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/4/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A1",null);
	var_Items.AddBar(h,"Stack",Convert.ToDateTime("1/3/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/5/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A2",null);
	var_Items.AddBar(h,"Stack",Convert.ToDateTime("1/4/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/7/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A3",null);
	var_Items.AddBar(h,"Stack",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/7/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A4",null);
	var_Items.AddBar(h,"Stack",Convert.ToDateTime("1/8/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A5",null);
	var_Items.AddItem(null);
	h = var_Items.AddItem("Stack-AutoArrange");
	var_Items.AddBar(h,"AStack",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/4/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A1",null);
	var_Items.AddBar(h,"AStack",Convert.ToDateTime("1/3/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/5/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A2",null);
	var_Items.AddBar(h,"AStack",Convert.ToDateTime("1/4/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/7/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A3",null);
	var_Items.AddBar(h,"AStack",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/7/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A4",null);
	var_Items.AddBar(h,"AStack",Convert.ToDateTime("1/8/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A5",null);
	var_Items.AddItem(null);
	h = var_Items.AddItem("Cascade");
	var_Items.AddBar(h,"Cascade",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/4/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A1",null);
	var_Items.AddBar(h,"Cascade",Convert.ToDateTime("1/3/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/5/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A2",null);
	var_Items.AddBar(h,"Cascade",Convert.ToDateTime("1/4/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/7/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A3",null);
	var_Items.AddBar(h,"Cascade",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/7/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A4",null);
	var_Items.AddBar(h,"Cascade",Convert.ToDateTime("1/8/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A5",null);
	var_Items.AddItem(null);
	var_Items.set_ItemBar(0,"<*>",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption,"<%=%9%>");
exg2antt1.EndUpdate();

2124
How can I change the Exclude field in the drop down filter window

exg2antt1.BeginUpdate();
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
exg2antt1.set_HTMLPicture("exclude","gCJKBOI4NBQaBQAhQNJJIIhShQACERCAEAcRdrdcUQhQDOZCJJUBEjbbhJ7giIJOBILJziJvl4BeKibhDiIZOhFLB0KZvMx0O5hORlAB3owuNJuNZzMZhOBlFxvORnT" +
"buHgaiIeKBMKhFf9fDIcEoPCAVEAlGI4HhBBYMCARCQVGg4IhVMCAWC2XY1Q7WJ8RBB0KROKYAYDBbzicjndD6fA/VsRHRJIhBkRbMYIGwGAQjA2fRYOEBoYjBFBx1AT" +
"CgCGQ8M7OTjSaJMDRDKIwYu5DrIMBgSAADKJTqhBhyRApAA3FAucZPPilokRJJFJxEVxCMCCgIA==");
exg2antt1.set_Description(exontrol.EXG2ANTTLib.DescriptionTypeEnum.exFilterBarExclude,"<img>exclude</img>");
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Items") as exontrol.EXG2ANTTLib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.FilterList = exontrol.EXG2ANTTLib.FilterListEnum.exShowExclude | exontrol.EXG2ANTTLib.FilterListEnum.exShowFocusItem | exontrol.EXG2ANTTLib.FilterListEnum.exShowCheckBox;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
exg2antt1.EndUpdate();

2123
How can I change the Exclude field in the drop down filter window

exg2antt1.BeginUpdate();
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
exg2antt1.set_Description(exontrol.EXG2ANTTLib.DescriptionTypeEnum.exFilterBarExclude,"<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>");
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Items") as exontrol.EXG2ANTTLib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.FilterList = exontrol.EXG2ANTTLib.FilterListEnum.exShowExclude | exontrol.EXG2ANTTLib.FilterListEnum.exShowFocusItem | exontrol.EXG2ANTTLib.FilterListEnum.exShowCheckBox;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
exg2antt1.EndUpdate();

2122
The grid lines looks different then before. What should I do

exg2antt1.BeginUpdate();
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Tasks") as exontrol.EXG2ANTTLib.Column);
	var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellHasCheckBox,true);
	var_Column.PartialCheck = true;
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exAllLines;
exg2antt1.GridLineStyle = exontrol.EXG2ANTTLib.GridLinesStyleEnum.exGridLinesGeometric;
exg2antt1.Chart.DrawGridLines = exg2antt1.DrawGridLines;
exg2antt1.Chart.GridLineStyle = exg2antt1.GridLineStyle;
exg2antt1.HeaderVisible = exontrol.EXG2ANTTLib.HeaderVisibleEnum.exHeaderVisibleExtendLevels;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Project");
	int hChild = var_Items.InsertItem(h,null,"Task 1");
	var_Items.set_SelectItem(hChild,true);
	hChild = var_Items.InsertItem(h,null,"Task 2");
	var_Items.set_CellState(hChild,0,1);
	hChild = var_Items.InsertItem(h,null,"Task 3");
	var_Items.set_CellState(hChild,0,1);
	var_Items.set_ExpandItem(h,true);
exg2antt1.EndUpdate();

2121
How can I hide the task/bar's extra-caption

exg2antt1.BeginUpdate();
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.set_PaneWidth(false,96);
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2011",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars["Task"];
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarExtraCaption,"<%=%C0%>");
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption,18);
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarExtraCaptionHAlign,16);
exg2antt1.Columns.Add("Task");
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Show") as exontrol.EXG2ANTTLib.Column);
	exontrol.EXG2ANTTLib.Editor var_Editor = var_Column.Editor;
		var_Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.CheckValueType;
		var_Editor.set_Option(exontrol.EXG2ANTTLib.EditorOptionEnum.exCheckValue2,1);
	var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty,57);
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AllowCellValueToItemBar = true;
	var_Items.AddBar(var_Items.AddItem("Task 1"),"Task",Convert.ToDateTime("1/3/2011",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/7/2011",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.set_ItemBar(var_Items.FirstVisibleItem,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarShowExtraCaption,false);
	var_Items.AddBar(var_Items.AddItem("Task 2"),"Task",Convert.ToDateTime("1/4/2011",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/8/2011",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
exg2antt1.EndUpdate();

2120
How can I hide the task/bar's caption

exg2antt1.BeginUpdate();
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.set_PaneWidth(false,96);
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2011",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars["Task"];
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption,"<%=%C0%>");
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption,18);
exg2antt1.Columns.Add("Task");
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Show") as exontrol.EXG2ANTTLib.Column);
	exontrol.EXG2ANTTLib.Editor var_Editor = var_Column.Editor;
		var_Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.CheckValueType;
		var_Editor.set_Option(exontrol.EXG2ANTTLib.EditorOptionEnum.exCheckValue2,1);
	var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty,56);
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AllowCellValueToItemBar = true;
	var_Items.AddBar(var_Items.AddItem("Task 1"),"Task",Convert.ToDateTime("1/3/2011",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/7/2011",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.set_ItemBar(var_Items.FirstVisibleItem,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarShowCaption,false);
	var_Items.AddBar(var_Items.AddItem("Task 2"),"Task",Convert.ToDateTime("1/4/2011",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/8/2011",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
exg2antt1.EndUpdate();

2119
Can I sort the column by check-state

exg2antt1.BeginUpdate();
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Check") as exontrol.EXG2ANTTLib.Column);
	var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellHasCheckBox,true);
	var_Column.SortType = exontrol.EXG2ANTTLib.SortTypeEnum.exSortByState;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem(null);
	var_Items.set_CellState(var_Items.AddItem(null),0,1);
	var_Items.set_CellState(var_Items.AddItem(null),0,1);
	var_Items.AddItem(null);
exg2antt1.Columns[0].SortOrder = exontrol.EXG2ANTTLib.SortOrderEnum.SortAscending;
exg2antt1.EndUpdate();

2118
Can I sort the column by image

exg2antt1.BeginUpdate();
exg2antt1.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Image") as exontrol.EXG2ANTTLib.Column);
	var_Column.SortType = exontrol.EXG2ANTTLib.SortTypeEnum.exSortByImage;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.set_CellImage(var_Items.AddItem(null),0,3);
	var_Items.AddItem(null);
	var_Items.set_CellImage(var_Items.AddItem(null),0,1);
	var_Items.set_CellImage(var_Items.AddItem(null),0,2);
exg2antt1.Columns[0].SortOrder = exontrol.EXG2ANTTLib.SortOrderEnum.SortAscending;
exg2antt1.EndUpdate();

2117
Can I sort the column by value(numeric)

exg2antt1.BeginUpdate();
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Value") as exontrol.EXG2ANTTLib.Column);
	var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellValueFormat,1);
	var_Column.FormatColumn = "`<fgcolor=808080><off 4><font ;6> ` + (1 index ``)  + ` </font></off></fgcolor>` + value";
	var_Column.SortType = exontrol.EXG2ANTTLib.SortTypeEnum.exSortByValue | exontrol.EXG2ANTTLib.SortTypeEnum.SortNumeric;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("1");
	var_Items.AddItem("10");
	var_Items.AddItem("2");
	var_Items.AddItem("20");
exg2antt1.Columns[0].SortOrder = exontrol.EXG2ANTTLib.SortOrderEnum.SortAscending;
exg2antt1.EndUpdate();

2116
Can I sort a column by cell's state (checked, unchecked) rather than caption

exg2antt1.BeginUpdate();
exontrol.EXG2ANTTLib.Column var_Column = (exg2antt1.Columns.Add("Check") as exontrol.EXG2ANTTLib.Column);
	exontrol.EXG2ANTTLib.Editor var_Editor = var_Column.Editor;
		var_Editor.EditType = exontrol.EXG2ANTTLib.EditTypeEnum.CheckValueType;
		var_Editor.set_Option(exontrol.EXG2ANTTLib.EditorOptionEnum.exCheckValue2,1);
	var_Column.SortType = exontrol.EXG2ANTTLib.SortTypeEnum.SortNumeric;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem(true);
	var_Items.AddItem(false);
	var_Items.AddItem(false);
	var_Items.AddItem(true);
exg2antt1.Columns[0].SortOrder = exontrol.EXG2ANTTLib.SortOrderEnum.SortAscending;
exg2antt1.EndUpdate();

2115
How can I highlight(bold) the items that displays milestones (method 2)

exg2antt1.BeginUpdate();
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	var_Columns.Add("Tasks");
	(var_Columns.Add("Start") as exontrol.EXG2ANTTLib.Column).set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty,1);
	(var_Columns.Add("End") as exontrol.EXG2ANTTLib.Column).set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty,543);
	exontrol.EXG2ANTTLib.Column var_Column = (var_Columns.Add("Days") as exontrol.EXG2ANTTLib.Column);
		var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty,258);
		var_Column.FormatColumn = "value ? value : ``";
	exontrol.EXG2ANTTLib.Column var_Column1 = (var_Columns.Add("Type") as exontrol.EXG2ANTTLib.Column);
		var_Column1.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty,0);
		var_Column1.Visible = false;
exontrol.EXG2ANTTLib.ConditionalFormat var_ConditionalFormat = exg2antt1.ConditionalFormats.Add("%4 = `Milestone`",null);
	var_ConditionalFormat.Bold = true;
	var_ConditionalFormat.Italic = true;
	var_ConditionalFormat.ApplyTo = exontrol.EXG2ANTTLib.FormatApplyToEnum.exFormatToItems;
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("9/20/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,256);
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars.Add("Task:Split");
		var_Bar.Shortcut = "Task";
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount,true);
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AllowCellValueToItemBar = true;
	var_Items.AddBar(var_Items.AddItem("M1"),"Milestone",Convert.ToDateTime("9/24/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/24/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.AddItem("T1"),"Task",Convert.ToDateTime("9/24/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.AddItem("T2"),"Task",Convert.ToDateTime("9/27/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.AddItem("M3"),"Milestone",Convert.ToDateTime("9/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
exg2antt1.EndUpdate();

2114
How can I highlight(bold) the items that displays milestones (method 1)

exg2antt1.BeginUpdate();
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	var_Columns.Add("Tasks");
	(var_Columns.Add("Start") as exontrol.EXG2ANTTLib.Column).set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty,1);
	(var_Columns.Add("End") as exontrol.EXG2ANTTLib.Column).set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty,543);
	exontrol.EXG2ANTTLib.Column var_Column = (var_Columns.Add("Days") as exontrol.EXG2ANTTLib.Column);
		var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty,258);
		var_Column.FormatColumn = "value ? value : ``";
exontrol.EXG2ANTTLib.ConditionalFormat var_ConditionalFormat = exg2antt1.ConditionalFormats.Add("%3 = 0",null);
	var_ConditionalFormat.Bold = true;
	var_ConditionalFormat.Italic = true;
	var_ConditionalFormat.ApplyTo = exontrol.EXG2ANTTLib.FormatApplyToEnum.exFormatToItems;
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("9/20/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,256);
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars.Add("Task:Split");
		var_Bar.Shortcut = "Task";
		var_Bar.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount,true);
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AllowCellValueToItemBar = true;
	var_Items.AddBar(var_Items.AddItem("M1"),"Milestone",Convert.ToDateTime("9/24/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/24/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.AddItem("T1"),"Task",Convert.ToDateTime("9/24/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.AddItem("T2"),"Task",Convert.ToDateTime("9/27/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.AddItem("M3"),"Milestone",Convert.ToDateTime("9/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
exg2antt1.EndUpdate();

2113
Bars with gradient shows no border or frame arround. What can be done (method 2)

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Task");
exg2antt1.Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
exg2antt1.Chart.set_PaneWidth(false,48);
exg2antt1.DefaultItemHeight = 24;
exontrol.EXG2ANTTLib.Bar var_Bar = exg2antt1.Chart.Bars.Add("E1");
	var_Bar.Color = Color.FromArgb(0,0,0);
	var_Bar.StartColor = Color.FromArgb(0,255,0);
	var_Bar.EndColor = Color.FromArgb(255,255,0);
	var_Bar.Pattern = exontrol.EXG2ANTTLib.PatternEnum.exPatternGradientVBox | exontrol.EXG2ANTTLib.PatternEnum.exPatternBox;
	var_Bar.Height = 20;
exontrol.EXG2ANTTLib.Bar var_Bar1 = exg2antt1.Chart.Bars.Add("E2");
	var_Bar1.Color = Color.FromArgb(0,0,0);
	var_Bar1.StartColor = Color.FromArgb(0,255,0);
	var_Bar1.EndColor = Color.FromArgb(255,255,0);
	var_Bar1.Pattern = exontrol.EXG2ANTTLib.PatternEnum.exPatternGradientVBox | exontrol.EXG2ANTTLib.PatternEnum.exPatternBox;
	var_Bar1.Height = 20;
	var_Bar1.set_Def(exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarBackgroundExt,"[frame=RGB(255,0,0),framethick]");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem(null);
	int h = var_Items.AddItem("no border");
	var_Items.AddBar(h,"E1",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/8/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	h = var_Items.AddItem("w/h boder");
	var_Items.AddBar(h,"E2",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/8/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.AddItem(null);
exg2antt1.EndUpdate();

2112
Bars with gradient shows no border or frame arround. What can be done (method 1)

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Task");
exg2antt1.Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
exg2antt1.Chart.set_PaneWidth(false,48);
exg2antt1.DefaultItemHeight = 24;
exontrol.EXG2ANTTLib.Bar var_Bar = exg2antt1.Chart.Bars.Add("E2");
	var_Bar.Color = Color.FromArgb(0,0,0);
	var_Bar.StartColor = Color.FromArgb(0,255,0);
	var_Bar.EndColor = Color.FromArgb(255,255,0);
	var_Bar.Pattern = exontrol.EXG2ANTTLib.PatternEnum.exPatternGradientVBox | exontrol.EXG2ANTTLib.PatternEnum.exPatternBox;
	var_Bar.Height = 20;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem(null);
	int h = var_Items.AddItem("no border");
	var_Items.AddBar(h,"E2",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/8/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	h = var_Items.AddItem("w/h boder");
	var_Items.AddBar(h,"E2",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/8/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarBackgroundExt,"[frame=RGB(255,0,0),framethick]");
	var_Items.AddItem(null);
exg2antt1.EndUpdate();

2111
Is it possible to display auto-numbers (rows-numbers) for non-empty items only

exg2antt1.BeginUpdate();
exg2antt1.Chart.set_PaneWidth(false,128);
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	var_Columns.Add("Items");
	exontrol.EXG2ANTTLib.Column var_Column = (var_Columns.Add("Pos") as exontrol.EXG2ANTTLib.Column);
		var_Column.FormatColumn = "len(%C0) ? 1 pos `` : ``";
		var_Column.Position = 0;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("Item A");
	var_Items.AddItem("");
	var_Items.AddItem("Item B");
	var_Items.AddItem("");
	var_Items.AddItem("Item C");
exg2antt1.EndUpdate();

2110
Is it possible to separate the group of items using horizontal-lines (root-items)

exg2antt1.BeginUpdate();
exg2antt1.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABLEIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIaRiAUbQSKEPxLEiPmqSHIEWwtDiBZgieTpNhAMg1CTNU4RAKoY" +
"RzBKeZ7kGZIVjKMofURRDpxBBMAkB");
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
exg2antt1.DefaultItemHeight = 24;
exg2antt1.SelBackMode = exontrol.EXG2ANTTLib.BackModeEnum.exTransparent;
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,196);
	var_Chart.SelBackColor = exg2antt1.SelBackColor;
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	exontrol.EXG2ANTTLib.Column var_Column = (var_Columns.Add("Default") as exontrol.EXG2ANTTLib.Column);
		var_Column.set_Def(exontrol.EXG2ANTTLib.DefColumnEnum.exCellHasCheckBox,true);
		var_Column.PartialCheck = true;
	exontrol.EXG2ANTTLib.Column var_Column1 = (var_Columns.Add("Position") as exontrol.EXG2ANTTLib.Column);
		var_Column1.FormatColumn = "1 + ((1 rpos ``) contains `.`)";
		var_Column1.Visible = false;
exontrol.EXG2ANTTLib.ConditionalFormat var_ConditionalFormat = exg2antt1.ConditionalFormats.Add("%C1",null);
	var_ConditionalFormat.BackColor32 = 0x1000000;
	var_ConditionalFormat.ChartBackColor = var_ConditionalFormat.BackColor;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Group 1");
	var_Items.AddBar(var_Items.InsertItem(h,null,"Child 1"),"Task",Convert.ToDateTime("1/3/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/13/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.InsertItem(h,null,"Child 2"),"Task",Convert.ToDateTime("1/4/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/14/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Group 2");
	var_Items.AddBar(var_Items.InsertItem(h,null,"Child 1"),"Task",Convert.ToDateTime("1/3/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/13/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	var_Items.AddBar(var_Items.InsertItem(h,null,"Child 2"),"Task",Convert.ToDateTime("1/4/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/14/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
exg2antt1.EndUpdate();

2109
How can specify a black pattern for the task

exg2antt1.BeginUpdate();
exg2antt1.DefaultItemHeight = 22;
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,0);
exg2antt1.Columns.Add("Frames");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Task");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"bar A",null);
	var_Items.set_ItemBar(h,"bar A",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarColor,1);
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/14/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/24/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"bar B",null);
exg2antt1.EndUpdate();

2108
Can I define a bar so it automatically fills the current item/row height (same height)

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Task");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,96);
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.Bars["Task"].Height = -1;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddBar(var_Items.AddItem("Task A"),"Task",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/5/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),null,null);
	int h = var_Items.AddItem("Task A");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/5/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"",null);
	var_Items.set_ItemBar(h,"",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarColor,255);
exg2antt1.EndUpdate();

2107
How can I highlight a specified date for the entire chart (Method 2)

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Tasks");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.set_PaneWidth(false,96);
	var_Chart.UnitWidth = 18;
	var_Chart.LevelCount = 2;
	var_Chart.MarkTimeZone("zone1",Convert.ToDateTime("1/8/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/9/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),0,null);
	var_Chart.MarkTimeZone("zone2",Convert.ToDateTime("1/2/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/4/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),0,"50");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("");
	int h = var_Items.AddItem("Task(I)");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/5/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"I",null);
	var_Items.AddItem("");
exg2antt1.EndUpdate();

2106
How can I highlight a specified date for the entire chart, including the header (Method 1)

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Tasks");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.set_PaneWidth(false,96);
	var_Chart.UnitWidth = 18;
	var_Chart.LevelCount = 2;
	var_Chart.AllowInsideZoom = true;
	var_Chart.AllowResizeInsideZoom = false;
	var_Chart.InsideZoomOnDblClick = false;
	exontrol.EXG2ANTTLib.InsideZoomFormat var_InsideZoomFormat = var_Chart.DefaultInsideZoomFormat;
		var_InsideZoomFormat.ForeColor = Color.FromArgb(255,255,255);
		var_InsideZoomFormat.BackColorChart = Color.FromArgb(0,0,1);
		var_InsideZoomFormat.BackColor = Color.FromArgb(0,0,1);
	exontrol.EXG2ANTTLib.InsideZooms var_InsideZooms = var_Chart.InsideZooms;
		var_InsideZooms.SplitBaseLevel = false;
		var_InsideZooms.DefaultWidth = 18;
		var_InsideZooms.Add(Convert.ToDateTime("1/8/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US"))).AllowInsideFormat = false;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("");
	int h = var_Items.AddItem("Task(I)");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/5/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"I",null);
	var_Items.AddItem("");
exg2antt1.EndUpdate();

2105
How can I highlight a specified date of a specified item

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Tasks");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.set_PaneWidth(false,96);
	var_Chart.UnitWidth = 18;
	var_Chart.LevelCount = 2;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("");
	int h = var_Items.AddItem("Task(D)");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/5/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"D",null);
	var_Items.AddItem("");
exontrol.EXG2ANTTLib.Notes var_Notes = exg2antt1.Chart.Notes;
	exontrol.EXG2ANTTLib.Note var_Note = var_Notes.Add("NoteD",h,Convert.ToDateTime("1/8/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"<b><%dd%></b><br><%m%><br><%yy%>");
		var_Note.set_PartFixedWidth(exontrol.EXG2ANTTLib.NotePartEnum.exNoteEnd,18);
		var_Note.set_PartShadow(exontrol.EXG2ANTTLib.NotePartEnum.exNoteEnd,false);
exg2antt1.EndUpdate();

2104
How can I display the start/end of the task within its margins (notes)

exg2antt1.BeginUpdate();
exg2antt1.Columns.Add("Tasks");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.set_PaneWidth(false,96);
	var_Chart.UnitWidth = 18;
	var_Chart.LevelCount = 2;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	var_Items.AddItem("");
	int h = var_Items.AddItem("Task(T)");
	var_Items.AddBar(h,"Task",Convert.ToDateTime("1/5/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("1/12/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"T",null);
	var_Items.AddItem("");
exontrol.EXG2ANTTLib.Notes var_Notes = exg2antt1.Chart.Notes;
	exontrol.EXG2ANTTLib.Note var_Note = var_Notes.Add("NoteTS",h,"T","");
		var_Note.ShowLink = exontrol.EXG2ANTTLib.NoteLinkTypeEnum.exNoteLinkHidden;
		var_Note.set_PartText(exontrol.EXG2ANTTLib.NotePartEnum.exNoteStart,"<%d%>");
		var_Note.set_PartHOffset(exontrol.EXG2ANTTLib.NotePartEnum.exNoteStart,9);
		var_Note.set_PartFixedWidth(exontrol.EXG2ANTTLib.NotePartEnum.exNoteStart,18);
	exontrol.EXG2ANTTLib.Note var_Note1 = var_Notes.Add("NoteTE",h,"T","");
		var_Note1.RelativePosition = "E-1";
		var_Note1.ShowLink = exontrol.EXG2ANTTLib.NoteLinkTypeEnum.exNoteLinkHidden;
		var_Note1.set_PartText(exontrol.EXG2ANTTLib.NotePartEnum.exNoteStart,"<%d%>");
		var_Note1.set_PartHOffset(exontrol.EXG2ANTTLib.NotePartEnum.exNoteStart,9);
		var_Note1.set_PartFixedWidth(exontrol.EXG2ANTTLib.NotePartEnum.exNoteStart,18);
exg2antt1.EndUpdate();

2103
Is it possible to show the tasks not-overlaid when the item is collapsed and overlaid once the user expands the item

// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
private void exg2antt1_BeforeExpandItem(object sender,int   Item,ref object   Cancel)
{
	exg2antt1.Refresh();
}
//this.exg2antt1.BeforeExpandItem += new exontrol.EXG2ANTTLib.exg2antt.BeforeExpandItemEventHandler(this.exg2antt1_BeforeExpandItem);

exg2antt1.BeginUpdate();
exg2antt1.Indent = 16;
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
exg2antt1.HasLines = exontrol.EXG2ANTTLib.HierarchyLineEnum.exSolidLine;
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exHLines;
exg2antt1.Columns.Add("Tasks");
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("9/20/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.ShowCollapsedBars = true;
	var_Chart.LevelCount = 2;
	var_Chart.set_PaneWidth(false,128);
	var_Chart.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exHLines;
	exontrol.EXG2ANTTLib.Bar var_Bar = var_Chart.Bars["Task"];
		var_Bar.OverlaidType = exontrol.EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack;
		var_Bar.Color = Color.FromArgb(0,0,0);
		var_Bar.StartColor = Color.FromArgb(196,196,196);
		var_Bar.EndColor = Color.FromArgb(196,196,196);
		var_Bar.Pattern = exontrol.EXG2ANTTLib.PatternEnum.exPatternBox;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Project 1");
	int h1 = var_Items.InsertItem(h,null,"Resources");
	var_Items.AddBar(h1,"Task",Convert.ToDateTime("9/21/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/25/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A",null);
	var_Items.AddBar(h1,"Task",Convert.ToDateTime("9/24/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/28/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"B",null);
	var_Items.AddBar(h1,"Task",Convert.ToDateTime("9/27/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/29/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"C",null);
	h = var_Items.AddItem("Project 2");
	h1 = var_Items.InsertItem(h,null,"Resources");
	var_Items.AddBar(h1,"Task",Convert.ToDateTime("9/21/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/25/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"A",null);
	var_Items.AddBar(h1,"Task",Convert.ToDateTime("9/24/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/28/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"B",null);
	var_Items.AddBar(h1,"Task",Convert.ToDateTime("9/27/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),Convert.ToDateTime("9/29/2006",System.Globalization.CultureInfo.GetCultureInfo("en-US")),"C",null);
	var_Items.set_ExpandItem(h,true);
exg2antt1.EndUpdate();

2102
Is it possible to display the label of the level without truncating / no clip

exg2antt1.BeginUpdate();
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
	var_Chart.FirstWeekDay = exontrol.EXG2ANTTLib.WeekDayEnum.exSunday;
	var_Chart.FirstVisibleDate = Convert.ToDateTime("12/31/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US"));
	var_Chart.set_PaneWidth(false,0);
	var_Chart.LevelCount = 3;
	exontrol.EXG2ANTTLib.Level var_Level = var_Chart.get_Level(0);
		var_Level.Label = 16;
		var_Level.FormatLabel = "`<c>` + value";
	exontrol.EXG2ANTTLib.Level var_Level1 = var_Chart.get_Level(1);
		var_Level1.Label = 256;
		var_Level1.FormatLabel = "`<c>` + value";
	exontrol.EXG2ANTTLib.Level var_Level2 = var_Chart.get_Level(2);
		var_Level2.Alignment = (exontrol.EXG2ANTTLib.AlignmentEnum)0x100;
		var_Level2.FormatLabel = "weekday(dvalue) = 0 ? `<b>` + value : ``";
		var_Level2.DrawTickLines = exontrol.EXG2ANTTLib.LevelLineEnum.exLevelNoLine;
		var_Level2.DrawTickLinesFrom(1,exontrol.EXG2ANTTLib.LevelLineEnum.exLevelDotLine);
		var_Level2.DrawGridLines = true;
	var_Chart.UnitWidth = 6;
	var_Chart.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exAllLines;
exg2antt1.EndUpdate();

2101
How do I get the item's auto-number, when using FormatColumn property, as CellValue gets empty

// SelectionChanged event - Fired after a new item has been selected.
private void exg2antt1_SelectionChanged(object sender)
{
	exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
		System.Diagnostics.Debug.Print( "pos: " );
		System.Diagnostics.Debug.Print( var_Items.get_CellCaption(var_Items.FocusItem,1) );
		System.Diagnostics.Debug.Print( "rpos(1): " );
		System.Diagnostics.Debug.Print( var_Items.get_CellCaption(var_Items.FocusItem,2) );
		System.Diagnostics.Debug.Print( "rpos(2): " );
		System.Diagnostics.Debug.Print( var_Items.get_CellCaption(var_Items.FocusItem,3) );
		System.Diagnostics.Debug.Print( "apos: " );
		System.Diagnostics.Debug.Print( var_Items.get_CellCaption(var_Items.FocusItem,4) );
		System.Diagnostics.Debug.Print( "index: " );
		System.Diagnostics.Debug.Print( var_Items.get_CellCaption(var_Items.FocusItem,5) );
}
//this.exg2antt1.SelectionChanged += new exontrol.EXG2ANTTLib.exg2antt.SelectionChangedEventHandler(this.exg2antt1_SelectionChanged);

exg2antt1.BeginUpdate();
exg2antt1.LinesAtRoot = exontrol.EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
exg2antt1.DrawGridLines = exontrol.EXG2ANTTLib.GridLinesEnum.exRowLines;
exg2antt1.HeaderAppearance = exontrol.EXG2ANTTLib.AppearanceEnum.Etched;
exontrol.EXG2ANTTLib.Columns var_Columns = exg2antt1.Columns;
	var_Columns.Add("Items");
	exontrol.EXG2ANTTLib.Column var_Column = (var_Columns.Add("pos") as exontrol.EXG2ANTTLib.Column);
		var_Column.FormatColumn = "1 pos ``";
		var_Column.Position = 0;
		var_Column.Width = 48;
		var_Column.AllowSizing = false;
	exontrol.EXG2ANTTLib.Column var_Column1 = (var_Columns.Add("rpos(1)") as exontrol.EXG2ANTTLib.Column);
		var_Column1.FormatColumn = "1 rpos ``";
		var_Column1.Position = 1;
		var_Column1.Width = 48;
		var_Column1.AllowSizing = false;
	exontrol.EXG2ANTTLib.Column var_Column2 = (var_Columns.Add("rpos(2)") as exontrol.EXG2ANTTLib.Column);
		var_Column2.FormatColumn = "1 rpos `.||A-Z`";
		var_Column2.Position = 2;
		var_Column2.Width = 48;
		var_Column2.AllowSizing = false;
	exontrol.EXG2ANTTLib.Column var_Column3 = (var_Columns.Add("apos") as exontrol.EXG2ANTTLib.Column);
		var_Column3.FormatColumn = "1 apos ``";
		var_Column3.Position = 3;
		var_Column3.Width = 48;
		var_Column3.AllowSizing = false;
	exontrol.EXG2ANTTLib.Column var_Column4 = (var_Columns.Add("index") as exontrol.EXG2ANTTLib.Column);
		var_Column4.FormatColumn = "1 index ``";
		var_Column4.Position = 4;
		var_Column4.Width = 48;
		var_Column4.AllowSizing = false;
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
	int h = var_Items.AddItem("Item 1");
	var_Items.InsertItem(h,null,"Child 1");
	int hSel = var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	var_Items.AddItem("Item 2");
	var_Items.AddItem("Item 3");
exg2antt1.EndUpdate();
exg2antt1.Items.set_SelectItem(hSel,true);